Ik heb een stuk code waarin ik een block selecteer mbv entsel,
ik heb daar de positie e.a. van nodig
in het block zit er ook een attrib
maar ik vind die niet terug.
ik weet wel dat ik die attrib kan vinden door te selecteren met nentsel. maar ik heb de hoofd ent nodig
dus hoe geraak ik van de hoofdent (die een insert is) naar de attrib?
Met wat zoekwerk ben ik zelf geraakt
bij beide blonde hersencellen hebben eens samengewerkt :lol:
bijgevolg ziehier de werkende code
;rotateviewcenter.lsp
wijzigt de ucs op basis van blocks die één attrib bevatten.
(defun c:rvc ( /
ent
; BLADNUMMER GLOBALE VARIABELE DIE elders GEBRUIKT WORDT
pos)
(setq pos (list 0 0 0))
(command "ZOOM" "C" pos 15000)
(setq ent (car(entsel "Selecteer het block")))
(if ent
(progn
(setq pos (cdr (assoc 10 (entget ent))))
(while (/= (cdr (assoc 0 (entget ent))) "SEQEND")
(setq ent (entnext ent))
(if (= (cdr (assoc 0 (entget ent))) "ATTRIB")
(setq BLADNUMMER (assoc 1 (entget ent))))
)
(command "UCS" "OBJECT" ent)
(command "PLAN" "CURRENT")
(setq pos (list 400 0 0))
(command "ZOOM" "C" pos 700)
)
)
(princ)
)
Citaat van: delangstevandestraat op wo 12 04 2017, 11:39:43
; BLADNUMMER GLOBALE VARIABELE DIE elders GEBRUIKT WORDT
Hoe kan dit een "GLOBALE VARIABELE" zijn als je deze hier local maakt?
de globale variabele krijgt in deze routine een waarde, en wordt in andere routine's die ik gebruik enkel gelezen...
Ik maak hem hier, want hij staat als comment en staat er dus eigenlijk niet hé,...
'k vond dat mijn hersencellen dat goed bedacht hadden, ze hadden beiden een goede dag toen vermoed ik ;-)
Citaat van: delangstevandestraat op do 20 04 2017, 07:31:53
de globale variabele krijgt in deze routine een waarde, en wordt in andere routine's die ik gebruik enkel gelezen...
Ik maak hem hier, want hij staat als comment en staat er dus eigenlijk niet hé,...
'k vond dat mijn hersencellen dat goed bedacht hadden, ze hadden beiden een goede dag toen vermoed ik ;-)
Had niet gezien dat er een ; voor stond....
Zie je haast niet op zn ding in je hand...