Citaat van: Anonymousis er een commando om een arc in meerdere stukjes rechte lijn te wijzigen?
net zo als een polygon ipv een cirkel?
(wij hebben een programma wat acad-blocks gebruikt, maar geen boogjes kan lezen, nu moet ik honderden arcs veranderen)
groeten,Martin
Beste Martin,
Hopelijk is onderstaande LISP-file wat je zoekt.
Het is door mij niet grondig gecontroleerd.
Groetjes HofCAD
(defun C:arclin(/ ss1 ~cmd ~pkadd n ent dataent r pm startAng endAng totAng dAng i)
(setq ss1 nil
~cmd (getvar "CMDECHO")
~pkadd (getvar "PICKADD")
)
(setvar "CMDECHO" 0)
(initget 6)
(setq n (getint "Aantal lijnstukken ter vervanging van de boog?"))
(setvar "PICKADD" 0)
(print "Selecteer een boog en geef een <Enter>")
(setq ss1 (ssget '((0 . "ARC"))))
(if (/= ss1 nil)
(progn (setq ent (ssname ss1 0))
(setq dataent (entget ent))
(setq pm (cdr (assoc '10 dataent))
r (cdr (assoc '40 dataent))
)
(setq startAng (cdr (assoc '50 dataent)))
(setq endAng (cdr (assoc '51 dataent)))
(if (< startAng endAng)
(setq totAng (- endAng startAng))
(setq totAng (+ (- (* 2 pi) startAng) endAng))
)
(setq dang (/ totAng (float n))
i 0
)
(command "LINE" (polar pm startAng r))
(repeat n
(setq i (1+ i))
(command (polar pm (+ startAng (* i dang)) r))
)
(command "")
)
)
(setq ss1 nil)
(setvar "PICKADD" ~pkadd)
(setvar "CMDECHO" ~cmd)
)