FastFiber

Layers aanmaken in VBA

Gestart door s2thaeve, wo 13 09 2006, 14:37:15

Vorige topic - Volgende topic

s2thaeve

Hoi allemaal, ik heb een Boek gekocht over VBA in autocad, maar ik heb al een paar kleine veranderingen gezien (is al een oud boek)

Nu heb ik een vraag:
Hoe kan ik lagen aanmaken en daar dingen in tekenen?

ik heb nu: (waarin block een getekend block is)

Dim Layer As AcadLAyer
Dim Layer_1 As String
Set Layer = ThisDrawing.Layers.Item("Layer_1")
Block.Layer = Layer_1

Verder Zou ik graag willen weten of het mogelijk is om textures toe te kennen aan bepaalde objecten/lagen om zo een mooie rendering te kunnen maken.
alvast heel erg bedankt voor de hulp

aiky

Citeerik heb nu: (waarin block een getekend block is)

Dim Layer As AcadLAyer
Dim Layer_1 As String
Set Layer = ThisDrawing.Layers.Item("Layer_1")
Block.Layer = Layer_1

Probeer dit eens uit:

    Dim Tempvast As AcadLayer
    Set Tempvast = ThisDrawing.Layers.Add("TM-Tempvast")
    Tempvast.color = 7
    Tempvast.Lineweight = acLnWt035
    ThisDrawing.SetVariable "ltscale", 3
    ThisDrawing.ActiveLayer = Tempvast
   


grtz aiky

s2thaeve

Oke Bedankt, het lagen aanmaken lukt nu.

Weet iemand of het mogelijk is om een texture (materiaal) toe te kennen aan een Blok dat in vba gemaakt is. Hier kan ik niets over vinden in de help-functie
Zelf dacht ik misschien aan zoies als:

Blok.Texture = Glass (of hoe dat materiaaldoor Acad gecodeerd wordt dan)

Heeft iemand hier ervaring mee?
alvast bedankt!

Kenny H

Beste,

Ik denk niet dat renderen gaat via VBA. Een medestudent van mij heeft dit toen ook zitten zoeken.
Heb hem toen geholpen via lisp. Omdat er hier wel iets over terug te vinden is.
Mss heb je er iets aan.
http://www.cadsite.be/smf/index.php/topic,625.0.html

Mvg

Kenny
8) Volvo 4 Life 8)

bas106gti

Citaat van: aiky op do 14 09 2006, 13:44:34
Citeerik heb nu: (waarin block een getekend block is)

Dim Layer As AcadLAyer
Dim Layer_1 As String
Set Layer = ThisDrawing.Layers.Item("Layer_1")
Block.Layer = Layer_1

Probeer dit eens uit:

    Dim Tempvast As AcadLayer
    Set Tempvast = ThisDrawing.Layers.Add("TM-Tempvast")
    Tempvast.color = 7
    Tempvast.Lineweight = acLnWt035
    ThisDrawing.SetVariable "ltscale", 3
    ThisDrawing.ActiveLayer = Tempvast
   


grtz aiky

Hoi,

Weet iemand ook of linetype`s kunt definieren.
als je lineweight kunt definieren, lijkt me dit ook mogelijk !!

gr.

willyver

Citaat van: bas106gti op wo 31 01 2007, 14:10:36
Hoi,

Weet iemand ook of linetype`s kunt definieren.
als je lineweight kunt definieren, lijkt me dit ook mogelijk !!

gr.
Je zou het op deze manier kunnen doen:
Sub start()
Dim newLayer As AcadLayer
Set newLayer = ThisDrawing.Layers.Add("test")
newLayer.color = acRed
newLayer.Linetype = "continuous"
End Sub
Met vriendelijke groet,
Willy