| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Digitale Fabrik: Projekte disziplinübergreifend koordinieren, ein Webinar am 06.11.2024
|
Autor
|
Thema: Block erstellen ohne Dialogfenster (1583 mal gelesen)
|
Noivet Mitglied Bautechniker
Beiträge: 173 Registriert: 05.09.2007 Vista Autocad 2010 Version3 Inventor 2011 NVIDIA Quadro 3000M
|
erstellt am: 13. Aug. 2008 08:37 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte Blöcke ohne das Dialogfenster erstellen. Klappt soweit auch schon ganz gut. Das Problem was ich jetzt noch hab, ist das der Block zwar erstellt wird und auch in der Zeichnung drin ist, aber der Block irgendwie gelöscht wird. Also, ich erstelle den Block, der Block wird in die Zeichnung geschrieben ist aber an der Stelle wo ich ihn erstelle nicht mehr da. Wenn ich das ganze mit dem Dialgfeld mache bleibt der Block da wo er definiert wird gleich stehen. Gibt es da irgendeine Variable die das steuert? Grüße Noivet Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 5896 Registriert: 09.11.2001 Acad Architecture 2023 WIN 10
|
erstellt am: 13. Aug. 2008 08:41 <-- editieren / zitieren --> Unities abgeben: Nur für Noivet
|
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 Kinder, kauft Kämme! Es kommen lausige Zeiten.
|
erstellt am: 13. Aug. 2008 08:55 <-- editieren / zitieren --> Unities abgeben: Nur für Noivet
Moin, ich denke, das ist so, bei der Befehlszeilenvariante des block-Befehls: Zitat: Das Programm definiert einen Block anhand der ausgewählten Objekte, des Einfügebasispunktes und des angegebenen Namens und löscht die ausgewählten Objekte anschließend aus der Zeichnung. Sie können den Block wiederherstellen, indem Sie den Befehl HOPPLA unmittelbar nach dem Befehl BLOCK ausführen.
Damit holst Du die Einzelteile wieder zurück. Um die Blockreferenz darzustellen, mußt Du sie über insert einfügen, die Definition ist ja da. In der Dialogfeldvariante kannst Du wählen, ob Du die Objekte a) Beibehalten, b) In Block konvertieren oder c) Löschen möchtest. Diese Auswahl hast Du bei -block nicht.
------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info Excel -Suche RuA-Suche FAQ-ACAD Hilfe zu CAD.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 13. Aug. 2008 09:09 <-- editieren / zitieren --> Unities abgeben: Nur für Noivet
es sind ZWEI Dinge : 1.Block aus Einzelobjekten erstellen UND 2.Blockreferenz an gleichen Koordinaten wieder einfügen Realisierst du das über command-Aufrufe? ------------------ - 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 |
Noivet Mitglied Bautechniker
Beiträge: 173 Registriert: 05.09.2007 Vista Autocad 2010 Version3 Inventor 2011 NVIDIA Quadro 3000M
|
erstellt am: 13. Aug. 2008 09:41 <-- editieren / zitieren --> Unities abgeben:
Hallo, das mit den Einstellungen im Dialog meine ich ja. Dort hab ich eingestellt "in Block konvertieren". Das möchte ich auch haben wenn ich nicht über das Dialogfenster gehe. Das ganze brauche ich um einen bestehenden Block umzubenennen bzw. neu zu definieren aber die alte Blockdefinition mit dem alten Namen nicht zu verlieren. Mein Makro sieht so aus: ^C^C._select;_single;\_explode;l;-block;\\v;; Wenn mir jemand sagen kann wie das einfacher geht wäre ich auch sehr dankbar. LG Noivet Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Noivet Mitglied Bautechniker
Beiträge: 173 Registriert: 05.09.2007 Vista Autocad 2010 Version3 Inventor 2011 NVIDIA Quadro 3000M
|
erstellt am: 18. Aug. 2008 10:25 <-- editieren / zitieren --> Unities abgeben:
So, jetzt hab ich mal eine Mischung mit Lisp versucht. Bekomme aber bei der Rückgabe der Koordinaten immer nur den Z-Wert raus. Wo liegt denn der Fehler? (setvar "userr2" (cdr (assoc 2 (entget (entlast))))) (getstring "Neuer Blockname : "))\(setvar "userr3" (cdr(assoc 10(entget(entlast)))));._select;_single;\_explode;l;-block;(getvar "userr2");(getvar "userr3");v;; "userr3 sollte eigentlich die Koordinaten des Blocks wiedergeben. Und wie kann ich einen Block wählen um die Koordinaten zu bekommen. Jetzt nimmt er ja das zuletzt erstellt Element. Und als Hinweis für die Lisp Profis, das ist mein erster Versuch etwas mit Lisp zu machen also nicht zu streng sein. LG Noivet Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Noivet Mitglied Bautechniker
Beiträge: 173 Registriert: 05.09.2007 Vista Autocad 2010 Version3 Inventor 2011 NVIDIA Quadro 3000M
|
erstellt am: 18. Aug. 2008 17:25 <-- editieren / zitieren --> Unities abgeben:
Jetzt hab ich es geschafft. Vielleicht nicht ganz sauber, aber es bringt mir das gewünschte Ergebniss. (setq aws2 (getstring "Neuer Blockname : "));\(setq aws1 (ssget)) \;_copy;v;;\\(setq aws3 (cdr(assoc 10(entget(entlast))))). _explode;l;_-block;(princ aws2);(princ aws3);_p;;_-insert;(princ aws2);(princ aws3);;;; Wenn mir jetzt noch einer sagen kann wie ich es hin bekomme das bei der Aufforderung von ssget nicht "Objekte wählen" sondern "Alter Block wählen" steht wäre das klasse. LG Noivet Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |