ich würde sehr gut sagen, aber "wir werden gut sein" ein wenig ;p
(Defunc c:cs)
(wenn (= ht nil)(setq ht 1))
;(wenn (= skala nil)(setq scale(getreal "\n.... skala geschrieben 1:"))))
(setq p ")
(setq p(getpoint "\n....... Wählen Sie den punkt innerhalb des bereichs aus: ")
(falls/= p nil)
(Setvar "cmdecho" 0)
(setq cpltype(getvar "plinetype"))
(setq ton(getvar "clayer")
(setvar "plinetype" 1)
(Befehl "_layer" "_m" "aree_nuove"")
(Befehl "_bpoly" "_a" "_b" "_e" "_p" "_x" p ")
(setq poly(entlast))
(setq polix(entget poli))
(if (= (cdr(assoc 0 polix))) "lwpolyline")(progn
(Befehl "_area" "_o" poly)
(seq-bereich(getvar "area")
(setq perimeter (getvar "perimeter")
(setq hs(* 0.00005 Fläche)
(Befehl "_layer" "_m" "aree_scritte"")
(Befehl "_text" "_c" p hs "0" (Strcat "areas=" (rtos area 2 2))"mm2" \r)
(Befehl "_text" "_c" p hs "0" (Strcat "areas=" (rtos area 2 2))"m2" \r)
(Befehl "_text" "_c" (polar p (* 1.5 pi) (* hs 1.5)) hs "0" (Strcat "perimeter=" (rtos perimeter 2 2))"mm" \r)
(Befehl "_text" "_c" (polar p (* 1.5 pi) (* hs 1.5)) hs "0" (Strcat "perimeter=" (rtos perimeter/1000 2 2))"m" \r)
)
(setvar "clayer" ton)
(setvar "plinetype" cpltype)
)
(princ)
)
(princ)<copyright: claudio="" granuzzo="" ing.="">"
(princ)quelle: </copyright:>
www.sepramdann möchte ich diesen teil benutzen, aber mich ändern:
-recover bereich in mm2 und m2 (ich habe versucht, aber nn funzia)
-recover perimeter in mm und m (ich habe versucht, aber keine funcy)
- ich änderte die größe des textes, so dass es proportional zum bereich, gibt es eine andere möglichkeit, es immer lesbar sofort ohne "winden"?
- ich sehe, dass eine polylinie über dem design erzeugt, könnten sie einfach das design ersetzen, indem sie den "doppel"?
- die polylinie, die erzeugt, kann vom level hammer sein, der das ursprüngliche design hatte? (kann zuerst ein element berühren)