| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Liniendicke von 2D-Polylinien (994 mal gelesen)
|
vision Mitglied
Beiträge: 113 Registriert: 27.10.2003 AutoCAD 2015 Expresstools Windows 10
|
erstellt am: 16. Jan. 2009 10:18 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich muss in vielen Zeichnungen die 2D-Polylinien mit der Liniendicke von 0,7 in 0,9 ändern. Das Programm muss alle 2D-Polylinien mit der Stärke 0,7 suchen und in 0,9 ändern. Das sollte automatisch per Lisp-Programm geschehen. Wer wäre so nett und schreibt mir das Lisp-Programm in Kurzform? Für Eure Bemühungen bedanke ich mich im Voraus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 16. Jan. 2009 10:30 <-- editieren / zitieren --> Unities abgeben: Nur für vision
Ich wäre so nett, wohin soll ich das Angebot für das Tool schicken ? Oder gibts ein Lispproblem, wo du stecken geblieben bist und wo ich dir im Rahmen der Forenhilfe vielleicht Denkanstöße in die richtige Richtung geben kann ? Wie sieht denn dein bisheriger Code aus? Hinweis: mit ActivX läßt sich das rel. einfach über Auslesen und Setzen der Property "ConstantWidth" realisieren . -> Vielleicht wird du ja mit dem Stichwort per google fündig. ?! ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 16. Jan. 2009 10:59 <-- editieren / zitieren --> Unities abgeben: Nur für vision
@Vision Nutze ScriptPro oder SCC oder sonst eine Möglichkeit eines "Batchbetrieb" und lasse ein Script in jeder Datei laufen was zB. so aussieht: Dabei werden natürlich nur Polylinien geändert die nicht in Blöcken sind, auch kann es nicht mit alten Polylinien umgehen - daher zunächst ein Convert vorab (wandelt alte in neue LWPolylines um)
Wenn es dir so ausreicht: Dein Glück - ansonsten mußt du auf jemanden warten der mehr langeweile hat ;D ;##################################################################### ; SCRIPT: Convert/Polyline & ändert PL´s mit globaler LW=0.7 auf 0.9 ;##################################################################### _CONVERT _P _AL (setq n 0) (repeat (sslength(setq ss (ssget"_X"'((0 . "LWPOLYLINE")(43 . 0.7))))) (entmod(subst'(43 . 0.9)'(43 . 0.7)(entget(ssname ss n)))) (setq n (1+ n)) ) _.qsave ;#####################################################################
------------------ die alte SUCHfunktion.. - System-Angaben - User:FAQ(Adesk) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
vision Mitglied
Beiträge: 113 Registriert: 27.10.2003 AutoCAD 2015 Expresstools Windows 10
|
erstellt am: 16. Jan. 2009 12:11 <-- editieren / zitieren --> Unities abgeben:
Hallo, erst mal Danke für die Antworten! Meine Änderung für die "alte" 2d-Polylinie funktioniert so leider nicht! defun c:P09 ( / ) (setq n 0) (repeat (sslength(setq ss (ssget"_X"'((0 . "POLYLINE")(40 . 0.7))))) (entmod(subst'(40 . 0.9)'(41 . 0.9)(entget(ssname ss n)))) (setq n (1+ n)) ) ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 16. Jan. 2009 12:22 <-- editieren / zitieren --> Unities abgeben: Nur für vision
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 16. Jan. 2009 12:22 <-- editieren / zitieren --> Unities abgeben: Nur für vision
|
vision Mitglied
Beiträge: 113 Registriert: 27.10.2003 AutoCAD 2015 Expresstools Windows 10
|
erstellt am: 16. Jan. 2009 13:01 <-- editieren / zitieren --> Unities abgeben:
Hallo, die "alten" 2D-Polylinien dürfen nicht umgewandelt werden (sind Leitungen im R&I-Schema). Mir würde es evtl. auch weiterhelfen, wenn ich ein Beispiel für den Zugriff auf die Linienstärke und das Zurückschreiben der anderen Linienstärke hätte. Gruß und Danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 16. Jan. 2009 13:06 <-- editieren / zitieren --> Unities abgeben: Nur für vision
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 16. Jan. 2009 13:08 <-- editieren / zitieren --> Unities abgeben: Nur für vision
die Linienstärke ist als ver-100-fachter Wert im GC 370 gespeichert (cdr(assoc 370(entget(car(entsel"\nOBJwahl:"))))) liefert dir diese .. die "Linienbreite" ist als Anfangs und Endbreite des Liniensegmentes in den einzelnen Vertex der 2d-PL gespeichert.
------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |