| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Liniengruppen als Block einfügen (574 / mal gelesen)
|
ThomasRow Mitglied Konstrukteur
Beiträge: 3 Registriert: 26.10.2021
|
erstellt am: 26. Okt. 2021 10:31 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum Bin blutiger Anfänger was Lisp anbelangt und benötige Hilfe. Ich habe eine Lisp Datei welche drei Liniengruppen erstellt. Jetzt möchte ich dass diese Gruppen jeweils als Block ins AutoCad eingefügt werden können. Momentan sieht das so aus: (defun c:seil () (setvar "BLIPMODE" 0) (setvar "OSMODE" 0) (entmake '((0 . "LINE") (8 . "SEHNE")(10 0 1036.6 0 )(11 10.8235 1036.6 0 ))) (command "_arc" "0,1036.6" "5.41175,1036.56275862651" "10.8235,1036.6") (entmake '((0 . "LINE") (8 . "SEHNE")(10 10.8235 1036.6 0 )(11 25.8235 1040 0 ))) (command "_arc" "10.8235,1036.6" "18.3235,1038.24747262366" "25.8235,1040") (entmake '((0 . "LINE") (8 . "SEHNE")(10 25.8235 1040 0 )(11 86 1073 0 ))) (command "_arc" "25.8235,1040" "55.91175,1055.38969866133" "86,1073") (entmake '((0 . "LINE") (8 . "SEHNE")(10 86 1073 0 )(11 121 1087 0 ))) (command "_arc" "86,1073" "103.5,1079.69516536998" "121,1087") (entmake '((0 . "LINE") (8 . "SEHNE")(10 121 1087 0 )(11 160.8235 1096 0 ))) (command "_arc" "121,1087" "140.91175,1091.16676954132" "160.8235,1096") (entmake '((0 . "LINE") (8 . "SEHNE")(10 160.8235 1096 0 )(11 187.5813 1096.4076 0 ))) (command "_arc" "160.8235,1096" "174.2024,1096.06577488308" "187.5813,1096.4076") (entmake '((0 . "LINE") (8 . "SEHNE")(10 187.5813 1096.4076 0 )(11 195.7813 1096.4076 0 ))) (command "_arc" "187.5813,1096.4076" "191.6813,1096.38235651324" "195.7813,1096.4076") ) (defun c:useiteFz () (setvar "BLIPMODE" 0) (setvar "OSMODE" 0) (command "_arc" "0,1033.775" "5.41175,1033.73775862651" "10.8235,1033.775") (command "_arc" "10.8235,1033.775" "18.3235,1035.42247262366" "25.8235,1037.175") (command "_arc" "25.8235,1037.175" "55.91175,1052.56469866133" "86,1070.175") (command "_arc" "86,1070.175" "103.5,1076.87016536998" "121,1084.175") (command "_arc" "121,1084.175" "140.91175,1088.34176954132" "160.8235,1093.175") (command "_arc" "160.8235,1093.175" "174.2024,1093.24077488308" "187.5813,1093.5826") (command "_arc" "187.5813,1093.5826" "191.6813,1093.55735651324" "195.7813,1093.5826") ) (defun c:leeresSeil () (setvar "BLIPMODE" 0) (setvar "OSMODE" 0) (command "_arc" "0,1036.6" "5.41175,1036.57020690121" "10.8235,1036.6") (command "_arc" "10.8235,1036.6" "18.3235,1038.25797809893" "25.8235,1040") (command "_arc" "25.8235,1040" "55.91175,1055.61175892907" "86,1073") (command "_arc" "86,1073" "103.5,1079.75613229599" "121,1087") (command "_arc" "121,1087" "140.91175,1091.23341563305" "160.8235,1096") (command "_arc" "160.8235,1096" "174.2024,1096.09337990646" "187.5813,1096.4076") (command "_arc" "187.5813,1096.4076" "191.6813,1096.38740521059" "195.7813,1096.4076") ) Und noch eine zweite Frage: Sind die Einträge BLIPMODE und OSMODE notwendig oder kann man die weglassen?
Freundliche Grüsse 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: 3067 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 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: 26. Okt. 2021 13:01 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasRow
Hallo ThomasRow und Willkommen bei CAD . de also Osmode ist eine ACAD Variable einfach mal in die Befehlszeile tippen und F1 drücken dann sollte die Hife dazu kommen die das erklärt.
BLIPMODE find ich in meinen ACAD nicht cu cw ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist nur die Spitze des Berges der da treibt ? [Diese Nachricht wurde von cadwomen am 26. Okt. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 26. Okt. 2021 13:14 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasRow
|
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1455 Registriert: 11.01.2006 WIN 10 ACAD 2022 BricsCAD V23
|
erstellt am: 26. Okt. 2021 14:23 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasRow
Hallo ThomasRow, das hier könnte weiterhelfen. Ist zwar eine "nicht soooo schöne" Art das zu machen, aber im Laufe der Zeit lernst du schon das Ganze zu optimieren. Den Blocknamen soltest du natürlich noch ändern und auch den Basispunkt solltest du anpassen. Ach ja ... wenn es einen Block mit dem gewünschten Namen schon in der Zeichnung gibt musst du das VORHER noch prüfen und ggf. darauf reagieren (das ist hier nicht dabei). (defun c:seil () (setvar "BLIPMODE" 0) (setvar "OSMODE" 0) (setq satz (ssadd)) (entmake '((0 . "LINE") (8 . "SEHNE")(10 0 1036.6 0 )(11 10.8235 1036.6 0 ))) (setq satz (ssadd (entlast) satz)) (command "_arc" "0,1036.6" "5.41175,1036.56275862651" "10.8235,1036.6") (setq satz (ssadd (entlast) satz)) (entmake '((0 . "LINE") (8 . "SEHNE")(10 10.8235 1036.6 0 )(11 25.8235 1040 0 ))) (setq satz (ssadd (entlast) satz)) (command "_arc" "10.8235,1036.6" "18.3235,1038.24747262366" "25.8235,1040") (setq satz (ssadd (entlast) satz)) (entmake '((0 . "LINE") (8 . "SEHNE")(10 25.8235 1040 0 )(11 86 1073 0 ))) (setq satz (ssadd (entlast) satz)) (command "_arc" "25.8235,1040" "55.91175,1055.38969866133" "86,1073") (setq satz (ssadd (entlast) satz)) (entmake '((0 . "LINE") (8 . "SEHNE")(10 86 1073 0 )(11 121 1087 0 ))) (setq satz (ssadd (entlast) satz)) (command "_arc" "86,1073" "103.5,1079.69516536998" "121,1087") (setq satz (ssadd (entlast) satz)) (entmake '((0 . "LINE") (8 . "SEHNE")(10 121 1087 0 )(11 160.8235 1096 0 ))) (setq satz (ssadd (entlast) satz)) (command "_arc" "121,1087" "140.91175,1091.16676954132" "160.8235,1096") (setq satz (ssadd (entlast) satz)) (entmake '((0 . "LINE") (8 . "SEHNE")(10 160.8235 1096 0 )(11 187.5813 1096.4076 0 ))) (setq satz (ssadd (entlast) satz)) (command "_arc" "160.8235,1096" "174.2024,1096.06577488308" "187.5813,1096.4076") (setq satz (ssadd (entlast) satz)) (entmake '((0 . "LINE") (8 . "SEHNE")(10 187.5813 1096.4076 0 )(11 195.7813 1096.4076 0 ))) (setq satz (ssadd (entlast) satz)) (command "_arc" "187.5813,1096.4076" "191.6813,1096.38235651324" "195.7813,1096.4076") (setq satz (ssadd (entlast) satz)) (command "_block" "test" "0,0" satz "" ) (command "_insert" "test" "0,0" "1" "1" "0") ) ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ThomasRow Mitglied Konstrukteur
Beiträge: 3 Registriert: 26.10.2021
|
erstellt am: 27. Okt. 2021 09:16 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen Vielen Dank für eure Antworten. Das hat mir schon mal sehr geholfen. BLIPMODE scheint veraltet zu sein. Was OSMODE ist habe ich auch kurz nachgeschaut. Werde beide so sein lassen, schaded sicher nicht. @Andreas Kraus Danke, das hat super funktioniert. Blocknamen habe ich noch angepasst und Basispunkt auf 0 passt so. Können Sie evtl. einen Hinweis geben wie man das ganze noch optimieren kann damit ich weiss in welche Richtung ich suchen muss? Bzw. gibt es irgendwo eine Anleitung zum Thema die zur verfügung steht? Freundliche Grüsse
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Kraus Mitglied Elektrotechniker
Beiträge: 1455 Registriert: 11.01.2006 WIN 10 ACAD 2022 BricsCAD V23
|
erstellt am: 27. Okt. 2021 09:48 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasRow
Optimieren kann man auf alle Fälle die Erstellung der Objekte. Schöner wäre es alle Objekte auf die selbe Art zu erstellen und nicht einmal mit entmake und einmal über command. Natürlich muss man sich für ein entmake die Objektdaten ggf. selbst berechnen usw. aber wenn man die benötigten Module einmal hat kann man die ja immer wieder gebrauchen. Eine Schleife zur Objekterstellung wäre hier auch effektiver weil innerhalb der Schleife nur einmal das eigentliche Todo geschrieben werden muss und nur andere Koordinaten verwendet werden. Außerdem kann man, wenn man mapcar verwendet, eine Rückgabe der erstellten Objekte als Liste für die Blockerstellung weiterverwenden (bei mapcar geht aber kein command). Wenn man gleich einen Schritt weitergeht kann man auch direkt den Block erstellen und auch die Objekte gleich in die Blockdefinition schreiben. Also ohne den "Umweg" über die Erstellung im Modell und nachfolgender Blockerstellung. Hier ist entmakex zu verwenden. Und als (erst mal) letztes geht das natürlich auch alles über die vla-... Befehle aber fang erst mal mit entmake und entmakex an damit du die Gruppencodes draufbekommst. ------------------ Geht nicht, gibts nicht Gruß Andreas http://kraus-cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ThomasRow Mitglied Konstrukteur
Beiträge: 3 Registriert: 26.10.2021
|
erstellt am: 27. Okt. 2021 10:00 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|