Ik heb een autocadtekening die dynamische blokken bevat. Ik zou graag met behulp van een lispprogramma bepaalde informatie halen uit die bloks. Hoe kan ik dat doen? In welke groepscode moet ik zoeken?
Heb je hier al eens naar gekeken?
http://www.lee-mac.com/dynamicblockcounter.html
bedankt voor de tip!
ik had net hetzelfde voor,
ik heb een block die dynamisch gestretched wordt,
in mijn tekening komt deze block meermaals voor met verschillende lengte's (met vaste stap-lengte)
ik wil nu deze lengte uit een selset (die al deze blocks bevat)
heb uit bovenstaande tip wel stukje code gevonden maar ik vind de gegevens van de dyn-blocks niet terug hoor... ?
(while (> ssoplen cnt)
(setq obj (vlax-ename->vla-object (ssname ssop cnt)))
(setq vis (vl-some '(lambda ( x ) (if (= vis (vla-get-propertyname x))
(vlax-get x 'value)
)
)
(vlax-invoke obj 'getdynamicblockproperties)
)
)
(setq cnt (+ cnt 1))
)
Omdat je slechts een klein stukje code toont is het moeilijk een goed oordeel te vormen. Maar je zult in ieder geval de waarde van de variabele vis op moeten slaan in een lijst. Nu krijgt vis eerst de waarde van het cnt=0 block, dan de waarde van het cnt=1 block, etc. t/m het laatste, cnt=ssoplen-1, block.