FastFiber

block - region - extrude

Gestart door Aw3some, do 05 03 2009, 15:23:46

Vorige topic - Volgende topic

Aw3some

Beste,

Ik zit met het volgende probleem:

Ik zou graag via vba een ‘block’ invoeren’ (een vlakke figuur) nadat ik deze heb ingevoerd zou ik graag van deze een ‘region’ maken om hem daarna te ‘extrude’.
Het invoeren van een ‘block’ is geen probleem, maar het vervolg wil niet meewerken.

De volgende code gebruik ik, kan iemand mij vertellen waar mijn fout zit?


Sub TestBlok()

    Dim RefPnt(0 To 2) As Double
    RefPnt(0) = 0: RefPnt(1) = 0: RefPnt(2) = 0
   
   
    Dim Blok As AcadBlockReference
    Set Blok = ThisDrawing.ModelSpace.InsertBlock(RefPnt, "C:\DampKappenKempa\LichtLijsten\new block2.dwg", 1, 1, 1, 0)
    Blok.Explode

    Dim kroon As Variant
    kroon = Blok.Explode
     
   
    Dim regionObj As AcadEntity
    Set regionObj = ThisDrawing.ModelSpace.AddRegion(kroon)
   
    Dim extrudeObj As Acad3DSolid
    Set extrudeObj = ThisDrawing.ModelSpace.AddExtrudedSolid(regionObj, 500, 0)
   


End Sub


mvg
Nico

skyhunter

beste aw3some,

ik heb een tekening gemaakt met daarin een rectangle (vierkante polyline)
deze opgeslagen als c:\blok3.dwg
en er onderstaand programma op los gelaten.
en uiteindelijk had ik het vierkant als 3dsolid op mijn scherm staan.

gr. ivo

Option Explicit

Sub TestBlok()

    'Dim omtrek(1) As Object
   
    Dim RefPnt(0 To 2) As Double
    RefPnt(0) = 0: RefPnt(1) = 0: RefPnt(2) = 0
   
    Dim Blok As AcadBlockReference
    Set Blok = ThisDrawing.ModelSpace.InsertBlock(RefPnt, "C:\blok3.dwg", 1, 1, 1, 0)

    'in t word het block ge-explode, dus staat er de polyline in
    Dim t As Variant
    t = Blok.Explode

    'in kroon word t ge-explode dus de polyline worden nu 4 lijnen.
    Dim kroon As Variant
    kroon = t(0).Explode
   

    Dim regionObj As Variant
    regionObj = ThisDrawing.ModelSpace.AddRegion(kroon)
   
    Dim extrudeObj As Object
    Set extrudeObj = ThisDrawing.ModelSpace.AddExtrudedSolid(regionObj(0), 500, 0)
   


End Sub