| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Anonymer Block (4307 mal gelesen)
|
CAD-Tötti Mitglied
Beiträge: 116 Registriert: 27.09.2003 ACAD 2004
|
erstellt am: 07. Jan. 2004 09:48 <-- editieren / zitieren --> Unities abgeben:
Hi, hat jemend eine Idee (LISP-Datei), wie ich ganz einfach (ohne Dialogfeld) per Auswahl von Objekten einen anonymen Block bilden kann. Die werden, glaube ich, immer so automatisch mit z.B. "*U5" benannt. Danke im voraus. Greetz :-) CAD-Tötti Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kramer24 Ehrenmitglied V.I.P. h.c. Architekt
Beiträge: 5881 Registriert: 09.11.2001 Acad Architecture 2023 WIN 10
|
erstellt am: 07. Jan. 2004 09:51 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Tötti
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 07. Jan. 2004 09:54 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Tötti
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 07. Jan. 2004 10:04 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Tötti
Frage deswegen: Wenn es dir nur darum geht das halt autom. ein Block (name egal) erstellt wird, dann gibt es hier schon was im Forum - ein kleines Makro reicht da dann nämlich. Wenn es dir aber tatsächlich um ANONYME Blöcke geht, dann sorry Hier interessiert mich dann aber wieder warum ?! ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Tötti Mitglied
Beiträge: 116 Registriert: 27.09.2003 ACAD 2004
|
erstellt am: 07. Jan. 2004 10:05 <-- editieren / zitieren --> Unities abgeben:
Na ja, manchmal möchte ich halt Blöcke bilden, ohne den ganzen "Verwaltungsaufwand" zu haben, wie z.B. Einfügepunkt, Blockname, Dialogfelder....... Ich will damit erreichen, dass ich aus Objekten (die unter Umständen in der Zeichnung wahllos rumfliegen würden) ganz primitive Blöcke bilde, dessen Namen echt keine Rolle spielen. Z.B. der befehl "Gruppe" ist meiner Meinung nach dafür keine echte Alternative. Grüße aus Frankfurt nach Frankfurt :-) CAD-Tötti Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Tötti Mitglied
Beiträge: 116 Registriert: 27.09.2003 ACAD 2004
|
erstellt am: 07. Jan. 2004 10:09 <-- editieren / zitieren --> Unities abgeben:
|
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: 07. Jan. 2004 10:18 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Tötti
Servus ^C^C(progn (ssget) (command "_copybase" (getpoint) "v""") (command "_erase" "v""")(command "_pasteblock" (getpoint)))
------------------
Warum einfach, es geht auch Kompliziert. mfG Bernd P. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Tötti Mitglied
Beiträge: 116 Registriert: 27.09.2003 ACAD 2004
|
erstellt am: 07. Jan. 2004 10:32 <-- editieren / zitieren --> Unities abgeben:
Schon richtig, dass man es so machen könnte :-) Ich will aber nicht unbedingt diese komischen Blocknamen wie z.B "A$C15354260" mit mir "herumschleppen" in der Blockliste. Anonyme Blöcke bleiben schön anonym Trotzdem erst mal danke. Will das aber trotzdem als LISP. Greetz CAD-Tötti 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: 07. Jan. 2004 10:38 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Tötti
Anonyme Blöcke haben aber auch Nachteile : Bei Mechanical gibts z.B. beim Doppeltklicken ( oder übers Menü ) den Befehl ampoweredit, der seinersets Attedit und Blockedit aufruft. Anonyme Blöcke werden allerdings hier ignoriert. Was stört an "A$ghlkj4545" ?? Gruß Thomas ------------------ Thomas 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: 07. Jan. 2004 10:40 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Tötti
Fertig (vollautomatisch) kenne ich es nicht - sorry, und anscheinend möchte es dir keiner basteln... evtl weil niemand irgendwann selbst eine solche Datei bekommen möchte ?! (Stichwort: Editierbarkeit) PS: lösche das ^C^C - dann ist es pures Lisp , soviel dazu... @CADmium der Name wird dann in diversen Dialogen (zB Blockeinfügen) angezeigt, das soll es aber nicht... deswegen anonyme Blöcke. - so habe ich es verstanden. ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Tötti Mitglied
Beiträge: 116 Registriert: 27.09.2003 ACAD 2004
|
erstellt am: 07. Jan. 2004 10:45 <-- editieren / zitieren --> Unities abgeben:
Das ist völlig richtig, dass man anonyme Blöcke nicht mit REFEDIT o.ä. bearbeiten kann. Das wäre mir auch egal. Die Blöcke, die ich evtl. noch bearbeiten muß, sind dann ja bei mir benannte Blöcke. Mich stört folgendes: ich arbeite sehr viel mit Blöcken, da kann man (gerade, wenn man relativ zügig arbeiten muß) sehr schnell die Übersicht verlieren beim Einfügen von Blöcken, wenn Blöcke mit solchen Namen in der Liste rumfliegen. Hey, eine tolle Diskussion habe ich da angezettelt Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Karin72 Mitglied
Beiträge: 278 Registriert: 13.05.2003 Autocad Map 2004, WS-Landcad, LT 2004, LT-Extender,
|
erstellt am: 07. Jan. 2004 11:08 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Tötti
Zitat: Original erstellt von CAD-Tötti:
Ich will damit erreichen, dass ich aus Objekten (die unter Umständen in der Zeichnung wahllos rumfliegen würden) ganz primitive Blöcke bilde, dessen Namen echt keine Rolle spielen. Z.B. der befehl "Gruppe" ist meiner Meinung nach dafür keine echte Alternative.
Hi Tötti, hier noch was ganz ohne makro: Elemente mit Strg+C in die Zwischenablage kopieren; Menü Bearbeiten - als Block einfügen. ------------------ Grüße Karin 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: 07. Jan. 2004 11:11 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Tötti
@Cadffm .. ist mir schon klar! Da sieht man mal wieder: - 100 Arbeitsweisen - 100 Lösungen! .. und was Probleme des einen sind , müssen den anderen nicht unbedingt Magendrücken verursachen. Gruß Thomas ------------------ Thomas 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: 07. Jan. 2004 11:13 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Tötti
|
Ex-Mitglied
|
erstellt am: 07. Jan. 2004 11:57 <-- editieren / zitieren -->
Zitat: Original erstellt von CAD-Tötti: hat jemend eine Idee (LISP-Datei), wie ich ganz einfach (ohne Dialogfeld) per Auswahl von Objekten einen anonymen Block bilden kann. Die werden, glaube ich, immer so automatisch mit z.B. "*U5" benannt. Danke im voraus. CAD-Tötti
Dieses kleine Lisp unten hab' ich vor 10 Jahren geschrieben, es müsste eigentlich immer noch so funktionieren. Befehl MAKEBLOCK eingeben, als Name einen "*", und schon hast Du einen anonymen Block aus der Auswahl gezaubert Gruß Tom Berger ;;; LISP ab hier: ;;; MAKEBLOK.LSP 941101 ;;; ;;; ;;; Thomas Berger ;;; CIS: Thomas Berger, 100326,2312 ;;; Internet: 100326.2312@compuserve.com ;;; ;;; FREEWARE ;;; ;;; a small utility to create and imidiately insert ;;; named or unnamed blocks. ;;; usage: ;;; (makeblock pickset insertionpoint name) ;;; ;;; example: ;;; command: (makeblock (ssget) (getpoint "\ninspoint: ") nil) ;;; ;;; if you pass NIL or a string starting with "*" as a name ;;; an anonymous block will be craeted ;;; ;;; CAUTION: if BLOCKname already exists, it will be overwritten ;;; without warning (defun makeblock (sset baspoint name / i e en blocktype) (if sset nil (setq sset (ssadd))) (if (or (/= 'STR (type name)) (= "" name)) (setq name "*A")) (if (= (substr name 1 1) "*") (setq blocktype 1 name "*A") (setq blocktype 0) ) (entmake (append '((0 . "BLOCK")) (list (cons 2 name)) (list (cons 70 blocktype)) (list (cons 10 baspoint)) )) (setq i -1) (while (setq e (ssname sset (setq i (1+ i)))) (cond ((/= 1 (cdr (assoc 66 (entget e)))) (if (entget e) (progn (entmake (entget e '("*"))) (entdel e) )) ) ((= 1 (cdr (assoc 66 (entget e)))) (if (entget e) (progn (entmake (entget e '("*"))) (setq en e) (while (/= "SEQEND" (cdr (assoc 0 (entget en)))) (setq en (entnext en)) (entmake (entget en '("*"))) ) (entdel e) )) ) ) ) (setq name (entmake '((0 . "ENDBLK")))) (if name (progn (entmake (append '((0 . "INSERT")) (list (cons 2 name)) (list (cons 10 baspoint)) )) )) (if name (entlast) nil) ) (defun c:makeblock (/ sset efp name) (if (and (setq sset (ssget)) (setq efp (getpoint "\nInsertionpoint: ")) (setq name (getstring "\nName (*=anonymous): ")) ) (makeblock sset efp name) ) (prin1) )
------------------ Architekturwerkzeuge für AutoCAD: http://www.archtools.de |
CAD-Tötti Mitglied
Beiträge: 116 Registriert: 27.09.2003 ACAD 2004
|
erstellt am: 07. Jan. 2004 13:19 <-- editieren / zitieren --> Unities abgeben:
|
Wolli Mitglied Konstrukteur
Beiträge: 704 Registriert: 28.02.2001 Win7 64Bit+32Bit VM-Ware I7 12GB ACAD Mech 2010 Inventor Pro 2010 + 2012 Ansys 13 NLS
|
erstellt am: 07. Jan. 2004 13:44 <-- editieren / zitieren --> Unities abgeben: Nur für CAD-Tötti
|