| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Breit Polylinie im Lisp einstellen - Polylinienbreite (2155 mal gelesen)
|
mufuhaya Mitglied
Beiträge: 8 Registriert: 01.07.2014 acad 2012
|
erstellt am: 01. Jul. 2014 11:14 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, brauche eure Hilfe im Lisp für: - markieren von Polylinien auf layerX - globale breite auf 0.05 stellen ziel: brandabschnitte sind auf einem Layer, die müssen besser sichtbar sein Freue mich auf eure Tipps... mufuhaya (acad2012) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedelzastrow Mitglied Architekt / Bauzeichner
Beiträge: 993 Registriert: 05.07.2007 Win XP AutoCAD 2006 AutoCAD 2009 AutoCAD 2012 LT
|
erstellt am: 01. Jul. 2014 11:21 <-- editieren / zitieren --> Unities abgeben: Nur für mufuhaya
Hallo mufuhaya und herzlich Willkommen bei cad.de Kein Lisp aber dafür auch schnell Befehl Filter. Dort kannst Du dann Objekttyp und Layer zum filtern festlegen und dann einfach die Breite dieser Polylinien manuell ändern. Gruß Robert Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 01. Jul. 2014 11:21 <-- editieren / zitieren --> Unities abgeben: Nur für mufuhaya
Servus, Möglichkeiten 1. Layer Linienbreite einstellen 2. Schnellauswahl(rechts oben) filter richtig einstellen und über Eigenschaftsfenster ändern. ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Sport ist Mord Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 2966 Registriert: 26.08.2002 ACAD R11 - 2022 (Plant3D) AVIS ACAD LT 2013- 2021 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 01. Jul. 2014 11:24 <-- editieren / zitieren --> Unities abgeben: Nur für mufuhaya
Hy eine wählen RMT ähnliche auswählen und dann ab in die Eigenschaften und fertig cw ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mufuhaya Mitglied
Beiträge: 8 Registriert: 01.07.2014 acad 2012
|
erstellt am: 01. Jul. 2014 14:33 <-- editieren / zitieren --> Unities abgeben:
Leute vielen dank für die Antworten... Aber: da wir architektur-pläne auf unseren standard (elektro) bringen müssen, muss das ganze über Lisp laufen (viele Pläne..) manuell gehts relativ einfach, aber über lisp gar nicht?? wie kann ich einen Layer über LISP auswählen? Danach ginge es einfach... - selectsimilar - pedit - Breite einstellen I´m exited... grüße mufuhaya Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mufuhaya Mitglied
Beiträge: 8 Registriert: 01.07.2014 acad 2012
|
erstellt am: 01. Jul. 2014 14:39 <-- editieren / zitieren --> Unities abgeben:
Leute vielen dank für die Antworten... Aber: da wir architektur-pläne auf unseren standard (elektro) bringen müssen, muss das ganze über Lisp laufen (viele Pläne..) manuell gehts relativ einfach, aber über lisp gar nicht?? wie kann ich einen Layer über LISP auswählen? Danach ginge es einfach... - selectsimilar - pedit - Breite einstellen I´m exited... grüße mufuhaya Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 01. Jul. 2014 14:40 <-- editieren / zitieren --> Unities abgeben: Nur für mufuhaya
Dann mach das doch einfach so:Auswahlsatz erstellen (mit ssget wenn wir schon Lisp benutzen dürfen) Dann starte den Pedit Befehl, übergebe die Objekt des Auswahlsatzes an die Objektwahl und ändere die Breite. In Lisp kannst du AutoCAD-Befehle mit (command ) aufrufen ! (command "_.PEDIT" "_m" MeinAuswahlsatz "" "_w" 2 "") Einfach den Befehl eintippen und die Befehlsfolge die benötigte wird notieren und genau so den Command aufbauen, ich habe die englische/internationale Schreibweise genutzt, aber du kannst auch BReite stat _w angeben etc, gan z wie von Hand auch. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 2966 Registriert: 26.08.2002 ACAD R11 - 2022 (Plant3D) AVIS ACAD LT 2013- 2021 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 01. Jul. 2014 14:41 <-- editieren / zitieren --> Unities abgeben: Nur für mufuhaya
Zitat: Original erstellt von mufuhaya: ..Danach ginge es einfach... grüße mufuhaya
Nein weil erst mal brauchst du ein "Programm" das die die Dateien als Batch abarbeitet sonst musst du genauso von Hand jede Datei öffnen und somit wäre das kein gewinn cu cw
------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 01. Jul. 2014 14:46 <-- editieren / zitieren --> Unities abgeben: Nur für mufuhaya
Zitat: Original erstellt von mufuhaya: wie kann ich einen Layer über LISP auswählen?
Ich gehe davon aus das du überhaupt kein Lisp benötigst weil du keine Lisp/Batchlösung nutzt, aber ok - Wer fragt bekommt Antworten: Layer kann man nie auswählen, allenfalls die Objekte die diesem zugeordnet sind und da auch nur die TopLevelElemente(nicht Verschachtelte), zudem funktionieren Befehle nur im aktuellen Bereich (Auswählen kannst du alle Objekte, Befehle nehmen aber nur id Objekte des aktuellen Bereiches). Also: Alle "polylinienartigen" Objekte(um das genau zu handeln müßte ich was nachschlagen, dazu bin ich gerade zu faul) auf Layer "heute" : (setq MeinAuswahlsatz(SSGET "_X" '((0 . "*POLYLINE")(8 . "heute")))) ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mufuhaya Mitglied
Beiträge: 8 Registriert: 01.07.2014 acad 2012
|
erstellt am: 01. Jul. 2014 16:00 <-- editieren / zitieren --> Unities abgeben:
ich habe meine Frage nicht gut genug formuliert: meine Lisp-Datei ist fast fertig, es fehlt mir nur noch dieser Punkt. - Auswahl von Brandabschnittsgrenzen: * liegt auf Layer: "BAGR" * und sind Polylinien also mein Lisp muss dann diese Polylinien nach Layer auswählen und stärker einstellen. lg mufuhaya
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 2966 Registriert: 26.08.2002 ACAD R11 - 2022 (Plant3D) AVIS ACAD LT 2013- 2021 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 01. Jul. 2014 16:01 <-- editieren / zitieren --> Unities abgeben: Nur für mufuhaya
na dann post die hier mal Zitat: Original erstellt von mufuhaya: ich habe meine Frage nicht gut genug formuliert:meine Lisp-Datei ist fast fertig, es fehlt mir nur noch dieser Punkt.
------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 01. Jul. 2014 16:08 <-- editieren / zitieren --> Unities abgeben: Nur für mufuhaya
Zitat: Original erstellt von mufuhaya: es fehlt mir nur noch dieser Punkt.- Auswahl von Brandabschnittsgrenzen: * liegt auf Layer: "BAGR" * und sind Polylinien also mein Lisp muss dann diese Polylinien nach Layer auswählen und stärker einstellen.
Die Antwort wie man das löst hast du doch jetzt schon: Lispfunktion SSGET (siehe Beispiel oben und zukünftig die AutoCADhilfe zu ssget) ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mufuhaya Mitglied
Beiträge: 8 Registriert: 01.07.2014 acad 2012
|
erstellt am: 02. Jul. 2014 09:10 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 02. Jul. 2014 09:15 <-- editieren / zitieren --> Unities abgeben: Nur für mufuhaya
Wenn sich jemand Zeit für dich und deine Probleme nimmt (und hier auf CAD.de ist es nicht nur einer, für gewöhnlich sind es viele)dann sollte du so viel Respekt haben dir auch Zeit für ihn ( seine Antworten) zu nehmen. "wie erkenne ich mit ssget eine polylinie mit einem layernamen?" Antwort: Arbeite diesen Thread einfach "noch einmal" von Anfang bis Ende durch. Dann braucht man sich nicht wiederholen, weder beim Silbertablett noch bei den Hinweisen auf die Hilfe etc. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 02. Jul. 2014 09:29 <-- editieren / zitieren --> Unities abgeben: Nur für mufuhaya
kurz cadffm gab dir die antwort schon weiter oben und ist sauer das du mangels aufmerksamkeit es nicht gesehen hast... was verständlich ist. ------------------ <----- Bitte Systeminfo eintragen, warum siehst du hier. "Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark Bernd P. Sport ist Mord Rekorde: Scalelist>11727, Fehler>34365, Layerfilter>XXXX Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 02. Jul. 2014 09:36 <-- editieren / zitieren --> Unities abgeben: Nur für mufuhaya
Ach mennö ..... um die Sache mal abzukürzen : (defun PLGW(LAYER BREITE / AWS) (vl-load-com) (if(and(or(and(=(type LAYER)'STR)(tblobjname "LAYER" LAYER)) (prompt "\nLayer existiert nicht") ) (or(and(numberp BREITE)(>= BREITE 0)) (prompt "\nungültige Breite") ) (setq AWS(ssget (list '(0 . "*POLYLINE")(cons 8 LAYER)))) ) (progn (mapcar '(lambda(X / Y) (and(=(type(cadr X))'ENAME) (setq Y(vlax-ename->vla-object (cadr X))) (not(vl-catch-all-error-p (vl-catch-all-apply 'vla-put-ConstantWidth (list Y BREITE) ) ) ) ) ) (ssnamex AWS) ) ) (princ) ) ) ... aufruf dann speziell für dich mit (PLGW "BAGR" 0.05) Lisp laden,starten ect. Siehe FAQ ------------------ Also ich finde Unities gut ... und andere sicher auch --------------------------------------- - 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 |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 2966 Registriert: 26.08.2002 ACAD R11 - 2022 (Plant3D) AVIS ACAD LT 2013- 2021 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 02. Jul. 2014 10:09 <-- editieren / zitieren --> Unities abgeben: Nur für mufuhaya
und ich würde gern die Lisp sehen dann haben wir alle was davon
Zitat: Original erstellt von mufuhaya: ich habe meine Frage nicht gut genug formuliert:meine Lisp-Datei ist fast fertig, es fehlt mir nur noch dieser Punkt. - Auswahl von Brandabschnittsgrenzen: * liegt auf Layer: "BAGR" * und sind Polylinien also mein Lisp muss dann diese Polylinien nach Layer auswählen und stärker einstellen. lg mufuhaya
------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist wie Öl suchen, je tiefer man bohrt desto mehr kommt ans Tageslicht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mufuhaya Mitglied
Beiträge: 8 Registriert: 01.07.2014 acad 2012
|
erstellt am: 02. Jul. 2014 13:07 <-- editieren / zitieren --> Unities abgeben:
hey Leute, seits nicht gleich so angry.. ich bin ein frischer Programmierer. Da ich nicht mal die Befehle genug kenne, scheitere ich öfters an winzigen dummen Fehler... mein programm beinhaltet nur commands, welche Xrefs lösen und binden, bissi farben umändern, usw.. weiters habe ich jetzt die Lösung vom cadffm hinzugefügt: (setq ss1(SSGET "_X" '((0 . "*POLYLINE")(8 . "*BAGR*")))) (command "_.PEDIT" "_m" ss1 "" "_w" 0.05 "") funkt mal... jetzt muss ich noch ein bissi weiterkämpfen... danke an alle lg mufuhaya
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 02. Jul. 2014 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für mufuhaya
Gut, jetzt hast du meine beiden Zeilen zusammengeführt Vergesse dabei nicht: Der Befehl erwartet Objekte, sonst rennt dein "Script" in einen Fehler, so könntest du das abfangen: (if (setq ss1... (command "_PEDIT" "_m" ss1 .. ) Und: AutoCAD-Befehle ändern Objekte nur wenn diese nicht auf einem gesperrten Layer liegen, du mußt also entweder dafür sorgen das diese entsperrt sind. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 2966 Registriert: 26.08.2002 ACAD R11 - 2022 (Plant3D) AVIS ACAD LT 2013- 2021 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 02. Jul. 2014 13:17 <-- editieren / zitieren --> Unities abgeben: Nur für mufuhaya
|