• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Macro schafft Polyline für Entwicklungsanzeige

  • Ersteller Ersteller reggio
  • Erstellt am Erstellt am

reggio

Guest
hallo, wir müssen oft die entwicklung eines gürtels oder einer kette oder anderen berechnen, jedes mal, wenn wir polylinea erstellen, indem wir die verschiedenen teile auswählen und dann gehen wir in die eigenschaften, wir kopieren die "länge", gehen wir aus und erstellen den text mit geschrieben "entwicklung" + "länge" innerhalb der polylinea. . .

ich fragte mich, ob es kein makro oder lisp für acad08 gab, um alle diese schritte zu automatisieren.
 
die lispe deck den text mit rotation, höhe (textgröße) und dezimal (loop) strömen.


(defunc c:sv (/ poly vw entwicklung)
(setq poly (entsel "\nselect polylinea")
(Befehl "area" "_ob" poly)
(Befehl "_-purge" "_b" "Entwicklung" )
(setq vw (getvar "viewctr")
(setq entwicklung (strcat "entwicklung " (rtos (getvar "perimeter")))))
(Befehl "_text" vw "" entwicklung ")
(Befehl "_-block" "develop" vw "_l")
(prompt "\nselect the text entry point ") (princ)
(Befehl "_-insert" "Entwicklung" pausen "")
(Befehl "_explode" "_l")
(princ)
)
 
vielleicht stimmt etwas nicht.

befehl: sv
polylinea-bereich
den ersten winkel oder [Oggetto/Aggiungi/Sottrai]ich will nicht.
objekte auswählen:
fläche = 28962.2802, länge = 719.3587

befehl: - reinigen
geben sie die art der objekte ein, die nicht zum löschen verwendet werden [Blocchi/Dimstili/Layer/TIpilinea/STilistampa/Forme/stiliTEsto/stiliML/stiliTAbe
lla/Regapp/TUtto]: _b typenbezeichnungen zu löschen. < * > entwicklungsprüfung
jeder name entfernt werden? [Sì/No] <s>: _n no entry found by name
"Entwicklung".

befehl: _text
aktueller textstil: "Standard" texthöhe: 2.5000
angabe des anfangspunktetexts oder </s>[Giustificato/Stile]:
höhe <2.5000>:
drehwinkel des textes <0>
typ text: entwicklung 719.3587
befehl: sv befehl unbekannt "sv". drücken f1 für die führung.

befehl: _-block
typ blockname oder [?]: entwicklung spezifizieren den grundlegenden einführpunkt:
objekte auswählen: _l found(s) 1

objekte auswählen:
befehl:
wählen sie den texteintragspunkt _-insert typ blockname
oder [?]: entwicklung spezifischer eingangspunkt oder [puntoBase/Scala/X/Y/Z/Ruota/PScala/PX/PY/PZ/PRuota]:
typ x skalenfaktor, entgegengesetzte winkel angeben oder [Angolo/XYZ] < 1>
typ skalenfaktor y <utilizza di="" fattore="" scala="" x="">:
drehwinkel angeben <0>
befehl: _explode
objekt auswählen: _
befehl: sv befehl unbekannt "sv". drücken f1 für die führung.

befehl:</utilizza>
 
vielleicht ist das problem hier.

(befehl "_-insert" "entwicklung" pausen """)
(befehl "_explode" "_l")
(princ)
)

nicht explodiert polylinea und dreht den text nicht
und schließlich die geschriebene

befehl: sv befehl unbekannt "sv". drücken f1 für die führung.
 
das poly sollte nicht explodiert werden, der text wird mit winkel gleich dem letzten gezogenen text gezeichnet. die lisp ist gemacht "auf der fly", ich verpasste die möglichkeit der einstellung und verschiedene einstellungen.

abgesehen von diesem letzten aspekt, sehen sie, ob es funktioniert, an der grenze werde ich sehen, ob ein setup für texthöhe und rotation einfügen.

(defunc c:sv (/ poly vw entwicklung)
(setq cmd (getvar "cmdecho")
(setvar "cmdecho" 0)
(setq poly (entsel "\nselect polylinea")
(befehl "area" "_ob" poly)
(befehl "_-purge" "_b" "entwicklung" )
(setq vw (getvar "viewctr")
(setq entwicklung (strcat "entwicklung " (rtos (getvar "perimeter")))))
(befehl "_text" vw "" entwicklung)
(befehl "_-block" "develop" vw "_l")
(prompt "\nselect the text entry point ") (princ)
(befehl "_-insert" "entwicklung" pausen """)
(befehl "_explode" )
(setvar "cmdecho" cmd)
(princ)
)
 
jetzt gibt kein problem und funktioniert gut.

ob einfügen einrichten für texthöhe und rotation.könnte nützlich sein

aber sollte der autor des beitrags sein, um die leitlinien zu geben
 
ich hatte einen befehl gemacht, der die zeilen zusammenfasste (mit viel phantasie nannte ich es "sommaline"!) d.h. einfach die länge aller ausgewählten zeilen zusammenfassen und dann in einem text geschrieben. linien könnten auch explosive polylinien sein. ich bevorzuge, in meiner lispe, die polylinien zu explodieren (dann rekonstruiere ich sie), so kann ich sie als einzelne linien behandeln, ohne die "komplexen wesen" zu erschüttern und alle "vertex" abzulassen!!! definitiv wäre dies die "elegante" lösung und würde es erlauben, auch die polylinien mit flächen in kurven zu verfolgen.
versuchen sie zu sehen, ob der obige befehl ihnen schon dienen kann.... dann, wenn ich einen moment zeit habe, werde ich versuchen, die lispe zu ändern....
 

Anhänge

Ich entschuldige mich für maximale Verzögerung,
die Lispe funktioniert schön,
Alternativ können Sie einfach den Befehl "list" verwenden
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben