| |
| 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 aus einer anderen dwg einfügen (2599 mal gelesen)
|
Bäumchen Mitglied Technischer Assistent für Informatik
Beiträge: 36 Registriert: 21.04.2007 ACAD2007 WinXP Prof
|
erstellt am: 21. Apr. 2007 15:48 <-- editieren / zitieren --> Unities abgeben:
Hallo , ich bin ganz neu bei AutoLISP! was ich möchte! ich lege mir eine neue dwg-datei an starte zB den Befehl: HEM400 und dann möchte ich den Stahlträger HEM400 (welcher als Block [HEM400] vorliegt) an meiner Maus zum einfügen haben! ja aber wie? Meine Idee war: dwg mit dem HEM400-Block öffnen HEM400-Block auswählen (irgendwie) HEM400-Block kopieren dwg schließen den kopierten Block einfügen (an dem Mauszeiger) das war meine Vorstellung von der Problemlösung! jetzt kommt es aber erst! ich habe keine Ahnung wie ich es anstellen soll/kann ich habe die vermutung es gibt einfache Befehle dazu
Also wenn mir jemand hier helfen kann...wäre echt schön damit ich mir mein Wochenende nicht noch länger mit googlen versaue
Vielen dank schon einmal
mfg Bäumchen Norbert Baum
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 22. Apr. 2007 08:47 <-- editieren / zitieren --> Unities abgeben: Nur für Bäumchen
|
Bäumchen Mitglied Technischer Assistent für Informatik
Beiträge: 36 Registriert: 21.04.2007
|
erstellt am: 22. Apr. 2007 23:06 <-- editieren / zitieren --> Unities abgeben:
guten morgen vielen dank, werde mir die Seiten morgen angucken! ist aber meine Grund Idee richtig? weil wenn es bessere Lösungen gibt wäre es ja nicht schlecht, wenn ich es wissen würde
mfg Norbert Baum Bäumchen
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: 23. Apr. 2007 07:27 <-- editieren / zitieren --> Unities abgeben: Nur für Bäumchen
Neee - deine Grundidee ist schon mal falsch... Du musst, um einen Block einfügen zu können, nicht die Datei öffnen. Es reicht wenn du die Datei normal einfügst - mittels _insert. Dateien musst du nur öffnen wenn du Elemente daraus entnehmen willst. Ein Element, welches du als Blockdefinition in einer Zeichnung haben willst, muss lediglich als eigenständige Datei vorliegen - nicht aber als Block in einer anderen Zeichnung. Vielleicht ziehst du dir - bevor du dir LISP-technische Sachen anschaust - mal die Basics von ACAD an... ------------------ Grüsse Thomas [Diese Nachricht wurde von tunnelbauer am 23. Apr. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 23. Apr. 2007 07:43 <-- editieren / zitieren --> Unities abgeben: Nur für Bäumchen
Wenn Du beim Block einfügen nicht noch andere Kriterien berücksichtigen willst (z.B, Skalierung, Drehung,...) kannst Du: - den Block "importieren" mit dem DesignCenter (Hilfe: ...Sie können Inhalt einer beliebigen Quellzeichnung in die aktuelle Zeichnung ziehen...) - Die Blockreferenzen dann ganz einfach mit _INSERT/EINFÜGE setzen. für einen entsprechenden Befehl:
Code:
(defun c:hem400 () (command "_INSERT" "hem400" pause >Skalierung,Drehung< ) )
Die Werte für die Skalierungen und Drehung noch berücksichtigen. (schon wieder zu langsam) ------------------ Schöne Grüße Ernst www.geopaint.at [Diese Nachricht wurde von Geos am 23. Apr. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 23. Apr. 2007 07:56 <-- editieren / zitieren --> Unities abgeben: Nur für Bäumchen
Wenn du allerdings aus einer Zeichnung, die mehrere Blöcken enthält, nur einen bestimmten Block in die aktuelle Zeichnung importieren willst, geht das auch. Mittels DBX-Server. Das ist aber IMHO "Lisp für (weit) Fortgeschrittene. (Aber unter den Tisch fallen lassen wollte ich das Stichwort trotzdem nicht) ------------------ - 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 |
Bäumchen Mitglied Technischer Assistent für Informatik
Beiträge: 36 Registriert: 21.04.2007
|
erstellt am: 23. Apr. 2007 09:39 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen Zitat: Original erstellt von Geos:
Code:
(defun c:hem400 () (command "_INSERT" "hem400" pause >Skalierung,Drehung< ) )
der Befehl sieht ja schon mal ganz gut aus! hem400 ist das jetzt die dwg, die welche im selben ordner liegen muss wie die datei, wo das ein gefügt werden soll? Vielen Dank schon einmal Norbert
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bäumchen Mitglied Technischer Assistent für Informatik
Beiträge: 36 Registriert: 21.04.2007 ACAD2007 WinXP Prof
|
erstellt am: 23. Apr. 2007 09:41 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADmium: Wenn du allerdings aus einer Zeichnung, die mehrere Blöcken enthält, nur einen bestimmten Block in die aktuelle Zeichnung importieren willst, geht das auch. Mittels DBX-Server.
geht das nun mit LISP auch? denn ich hatte mir ObjectARX angeguckt o.O aber das Problem, wenn was geändert werden soll, muss ich die ARX-Datei neu erstellen, weil ich ja nur den Code habe etc. deswegen wollte ich das einfügen über LISP machen und ein Zählprogramm für die Elemente später in ARX mfg Norbert Baum
[Diese Nachricht wurde von Bäumchen am 23. Apr. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 23. Apr. 2007 19:06 <-- editieren / zitieren --> Unities abgeben: Nur für Bäumchen
Wird eine andere Zeichnung(dwg,dxf) in eine ACAD-Zeichnung eingefügt, so befindet sie sich von da an als Blockdefinition in der Zeichnung - auch dann, wenn Du die eingefügte Zeichnung wieder löscht. Das heißt aber auch, dass Du dann mit dem Befehl "_INSERT / EINFÜGE" beliebig viele Blockreferenzen absetzen kannst. Der Lispbefehl würde nix anderes machen. Er hätte nur den Vorteil, dass Du noch die Skalierung und die Drehung mitgeben kannst und dass Du Dir dem Befehlsnamen aussuchen kannst in meinem Codeschnipsel eben entsprechend dem Blocknamen.
Zitat: Tunnelbauer: Vielleicht ziehst du dir - bevor du dir LISP-technische Sachen anschaust - mal die Basics von ACAD an...
------------------ Schöne Grüße Ernst www.geopaint.at Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bäumchen Mitglied Technischer Assistent für Informatik
Beiträge: 36 Registriert: 21.04.2007
|
erstellt am: 24. Apr. 2007 17:43 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 24. Apr. 2007 17:44 <-- editieren / zitieren --> Unities abgeben: Nur für Bäumchen
Ja, das geht mit Lisp. Das "Wie" aber hier zu erläutern würde viiieel zu weit führen. ------------------ - 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 |
Bäumchen Mitglied Technischer Assistent für Informatik
Beiträge: 36 Registriert: 21.04.2007
|
erstellt am: 24. Apr. 2007 18:40 <-- editieren / zitieren --> Unities abgeben:
mhmmm mist wasn nun? *fg* tipps/anhaltspunkte nach den ich google kann? [edit] was mir gerade beim joggen eingefallen ist! ich kann auch mir eine Funktion in ARX schreiben, die ich dann mit Parametern aufrufe hauptsache das dann später es einfach zu erweitern ist! also zB
Code:
(defun c:HEM400() import("blockname", "Elemente.dwg") ;ARX-Funktion, die dann den entsprechenden Block aus der dwg lädt )
ist das schon eher machbar? [/edit] danke norbert
[Diese Nachricht wurde von Bäumchen am 24. Apr. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 24. Apr. 2007 22:37 <-- editieren / zitieren --> Unities abgeben: Nur für Bäumchen
|
Bäumchen Mitglied Technischer Assistent für Informatik
Beiträge: 36 Registriert: 21.04.2007
|
erstellt am: 25. Apr. 2007 16:49 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 25. Apr. 2007 16:53 <-- editieren / zitieren --> Unities abgeben: Nur für Bäumchen
Einfach entweder du bist mit der händische Lösung über das Design-Center zufrieden oder ... Was ist für dich einfach?? .. machen lassen ? ... ------------------ - 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 |
Bäumchen Mitglied Technischer Assistent für Informatik
Beiträge: 36 Registriert: 21.04.2007
|
erstellt am: 25. Apr. 2007 17:11 <-- editieren / zitieren --> Unities abgeben:
|