| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Block einfügen (1240 mal gelesen)
|
Frank88 Mitglied
Beiträge: 156 Registriert: 11.10.2004 AutoCAD 2019/C3D
|
erstellt am: 02. Dez. 2004 12:44 <-- editieren / zitieren --> Unities abgeben:
Hallo, ist es möglich, mit ENTMAKE einen Block, der als DWG vorliegt, in eine Zeichnung einzufügen? Mit einem internen Block klappt es, aber gebe ich statt des Blocknamens einen Pfad an entsteht schon beim Laden des Programms ein Fehler. Mit COMMAND gelingt es mir, aber da kann man den Layer nicht angeben. Die anderen Angaben liegen alle schon vor (Einfügepunkt, Pfad und Name der DWG, Layer usw.). Gruß, Frank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 02. Dez. 2004 12:49 <-- editieren / zitieren --> Unities abgeben: Nur für Frank88
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 02. Dez. 2004 13:04 <-- editieren / zitieren --> Unities abgeben: Nur für Frank88
|
Frank88 Mitglied
Beiträge: 156 Registriert: 11.10.2004 AutoCAD 2019/C3D
|
erstellt am: 02. Dez. 2004 14:13 <-- editieren / zitieren --> Unities abgeben:
@cadffm Dafür müßte es den Layer aber schon geben...Klar, man könnte ihn vorher erzeugen, aber ENTMAKE wär doch schöner und schneller, oder? Auch bin ich mir nicht so sicher, was passiert, wenn es den Layer schon gibt, den man erzeugen will. Also muß man vorher das Vorhandensein prüfen - noch mehr Programmcode. @Holger Genau, da hab ich doch irgendwas über Verschachtelung gelesen (war's nicht sogar in der Online-Hilfe?), aber wie das funktioniert, stand da nicht! Apropos "...stand da nicht": Ich kann den BLockDefForLoad am angegebenen Ort nicht finden. Gruß, Frank
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 02. Dez. 2004 14:21 <-- editieren / zitieren --> Unities abgeben: Nur für Frank88
Zitat: Original erstellt von Frank88: @Holger Genau, da hab ich doch irgendwas über Verschachtelung gelesen (war's nicht sogar in der Online-Hilfe?), aber wie das funktioniert, stand da nicht! Apropos "...stand da nicht": Ich kann den BLockDefForLoad am angegebenen Ort nicht finden.Gruß, Frank
Stimmt (warum auch immer das 'durch die Lappen' gegangen ist?), dann findest du das bei CADwiesel. Und in der Online Hilfe steht garantiert nix darüber - oder was meinst du? Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! Autodesk User Group Central Europe AutoLISP-Programmierung für AutoCAD AUGCE Manager Deutschland Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 02. Dez. 2004 14:22 <-- editieren / zitieren --> Unities abgeben: Nur für Frank88
Zitat: Original erstellt von Brischke: Stimmt (warum auch immer das 'durch die Lappen' gegangen ist?), dann findest du das bei CADwiesel.
oder hier .. da hatte es Holger nämlich schon mal gepostet ------------------ - 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 |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 02. Dez. 2004 14:45 <-- editieren / zitieren --> Unities abgeben: Nur für Frank88
ok wenn du es unbedingt mit entmake machen willst du kommst aber trotzdem nicht über ein command hinweg (command "._insert" "d:/test.dwg") (command) damit hast du erst mal die blockdefinition in die zeichnung geladen das 2. command bricht die einfügeprozedur einfach ab und jetzt kannst du mit entmake deinen Blocj einfügen (entmake (list (cons 0 "INSERT") (cons 2 "test") ....) ------------------ WWW.FFZELL.AT.TC Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Frank88 Mitglied
Beiträge: 156 Registriert: 11.10.2004 AutoCAD 2019/C3D
|
erstellt am: 02. Dez. 2004 17:16 <-- editieren / zitieren --> Unities abgeben:
@Alle, ich seh's ja ein - mit COMMAND ist es wohl doch einfacher. Bevor ich dieses Listing integriert habe (oder ausprobiert), sind dann auch die Funktionen für's Layer anlegen erstellt. Danke nochmal an alle - es hilft immer auch sehr, zu wissen, daß etwas nicht so geht, wie man's machen will. Gruß Frank
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 02. Dez. 2004 19:11 <-- editieren / zitieren --> Unities abgeben: Nur für Frank88
> aber ENTMAKE wär doch schöner und schneller, oder? Schöner? Wir reden hier doch nicht über einen Urlaub in der Südsee? Schöner Code ist jedenfalls effektiv, sicher, lesbar. Was da die Effektivität angeht, reden wir unter "schneller" drüber, aber was Sicherheit und Lesbarkeit angeht, hat die Command-Variante die Nase deutlich vorn. Schneller? Eindeutig nein! Die Command-Variante ist wesentlich schneller! Und weil es jetzt wieder Kopfschütteln gibt, gleich die Erklärung: Command-Aufrufe sind deshalb 'verschrien', weil nun mal der Aufbau der Kommunikation zwischen Lisp und AutoCAD einen gewissen Overhead mit sich bringt. Ich sage einfach mal: Eine Hundertstel Sekunde... Will man 100000 einzelne Linien zeichnen und ruft 10000 mal (command "_line" ...) auf, dann hat man in der Tat 1 Sekunde Verlust durch Overhead. Startet man aber über (append'(command "_line")punkteliste)'("")), dann beträgt der Overhead eben nur 1/100 Sekunde + das, was ein append-Durchlauf durch 10000 Punkte kostet. In deinem Beispiel hast du die Wahl: Mit Command wird das ganze Einfügen des Blocks von hochoptimiertem, kompiliertem nativem C-Code erledigt, es kommt nur die 1/100 s für den Aufruf dazu. Mit entmake sparst du diese 1/100 Sekunde, dafür wird der ganze Prozess in Lisp ausgeführt - langsamer Interpretercode, keinerlei Optimierung usw. Fazit: Lies in Grimms Märchen unter 'Hans im Glück' nach, wie gut das Geschäft ist, das du machst, wenn du ein (command "_-insert") gegen eine irgendwie geartete entmake-Lösung eintauschst. Gruß, Axel Strube-Zettler ------------------ (defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze [Diese Nachricht wurde von mapcar am 03. Dez. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Frank88 Mitglied
Beiträge: 156 Registriert: 11.10.2004 AutoCAD 2019/C3D
|
erstellt am: 03. Dez. 2004 09:57 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Brischke: Und in der Online Hilfe steht garantiert nix darüber - oder was meinst du?
AutoCAD R14 Deutsch, Autolisp Funktionskatalog, ENTMAKE - das, was da unter "Komplexe Elemente" steht klingt doch gar nicht so verkehrt, oder? Und so, wie es da steht, war ich auch der Meinung, das könne doch nicht so kompliziert sein. Blutiger Anfänger eben... Gruß, Frank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |