das ist meine funktion, die ich geschrieben habe
;;; (zeichne_block EFP blockname layer)
(defun c:bb ( / liste efp )
(setq liste
(list
'("Schlitzwandgreifer" "_WF_Baumaschinenzubehör")
'("mercedes E220 draufsicht" "_WF_PKW")
'("Seilbagger draufsicht" "_WF_Baumaschinen")
'("Betonmischer" "_WF_Baumaschinen")
'("Seilbagger 2 draufsicht" "_WF_Baumaschinen")
'("lkw draufsicht" "_WF_Baumaschinen")
'("Schüttrohrcontainer" "_WF_Baugeräte")
'("Meißel" "_WF_Baumaschinenzubehör")
'("lkw draufsicht" "_WF_Baumaschinen")
'("Rohrziehgerät" "_WF_Baugeräte")
'("Radlader1" "_WF_Baumaschinen")
'("Radlader2" "_WF_Baumaschinen")
'("Bewehrungskorb" "_WF_Baustoffe")
)
)
(foreach objekt liste
(princ "\n")
(princ (car objekt))
(setq efp (getpoint))
(cond (efp
(zeichne_block efp (car objekt) (cadr objekt))
(command "_rotate" (entlast) "" efp (big (getangle efp)))
(command "_move" (entlast) "" efp (getdist efp))
)
)
)
(princ)
)
(defun zeichne_block
(EFP blockname layer)
(entmake
(list
(cons 0 "INSERT")
(cons 2 blockname)
(cons 8 layer)
(cons 10 EFP)
)))
(defun big (b)
(/ (* b 180) pi)
)
jedes objekt aus der liste, welches als block in der zeichnung schon vorhanden ist, wird an dem einfügepunkt gesetzt, gedreht und verschoben.
es klappt auch alles wunderbar, nur dass ich die objekte nicht sehen kann, und somit das drehen und schieben etwas schwierig ist.
die lösung ist simple denke ich mal, ich komme nur nicht drauf.
gruß
theo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP