| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Block einfügen an Kreismittelpunkt (376 mal gelesen)
|
Cad-Max Mitglied
Beiträge: 10 Registriert: 06.11.2004 ACAD 2004 >pur< ET 2004 DE Win2k SP4
|
erstellt am: 02. Apr. 2005 11:46 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe eine Zeichnung mit ca. 1000 Kreisen und möchte nun einen Block an jedem Mittelpunkt einfügen. Hab schon im Forum gesucht aber nichts passendes gefunden. Von Cadwiesel gibt es ein Programm (pkt_blk) das Punkte gegen Blöcke tauscht, es würde mir also schon was bringen, wenn ich Punkte an den Mittelpunkten hätte. Falls jemand eine Lösung kennt oder ein passendes Tool, würde ich mich über eine Antwort freuen Johannes Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, Monitore, ...
|
erstellt am: 02. Apr. 2005 14:02 <-- editieren / zitieren --> Unities abgeben: Nur für Cad-Max
Code: (defun C:circle_center_2_block (/ ss) (setq ss (ssget '((0 . "CIRCLE")))) (if ss (progn (setq n (1- (sslength ss))) (while (>= n 0) (setq elist (entget (ssname ss n)) radius (cdr (assoc 40 elist)) zentrum (cdr (assoc 10 elist)) n (1- n) ) (command "_point" zentrum) ) ) ) )
------------------ MfG Proxy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 02. Apr. 2005 14:22 <-- editieren / zitieren --> Unities abgeben: Nur für Cad-Max
Hallo, dann kann man doch gleich den Block einfügen: (defun C:kreis_block (/ aws n attreq_alt) (setq attreq_alt (getvar "ATTREQ")) (setvar "ATTREQ" 0);;;Falls eine unbekannte Anzahl von Atrtributen vorhanden ist (setq aws (ssget '((0 . "CIRCLE")))) (if aws (progn (setq n 0) (repeat (sslength aws) (command "_.insert" "Blockname" (cdr (assoc 10 (entget (ssname ss n)))) "1" "1" "") (setq n (+ n 1)) ) ) ) (setvar "ATTREQ" attreq_alt) ) ------------------ viele Grüße Jörn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cad-Max Mitglied
Beiträge: 10 Registriert: 06.11.2004 ACAD 2004 >pur< ET 2004 DE Win2k SP4
|
erstellt am: 02. Apr. 2005 14:56 <-- editieren / zitieren --> Unities abgeben:
Hallo Proxy/Jörn, super vielen Dank an beide, Ihr habt mir sehr geholfen! Irgendwann in meinem nächsten Leben werde ich vielleicht auch so tolle Lisp routinen schreiben können... Und ich dachte tatsächlich schon, ich bin das Wochenende damit beschäftigt Blöcke an Mittelpunkten einzufügen ;-) Grüße Johannes Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Cad-Max Mitglied
Beiträge: 10 Registriert: 06.11.2004 ACAD 2004 >pur< ET 2004 DE Win2k SP4
|
erstellt am: 02. Apr. 2005 16:39 <-- editieren / zitieren --> Unities abgeben:
Hallo Jörn, nochmals kurz eine Anmerkung: Es ist nicht mehr so wichtig, da ich die Aufgabe ja bereits mit der "Punkt-Variante" gelöst habe, aber falls jemand die Kreis_Block - Variante benutzen möchte: Bei mir kommt folgende Fehlermeldung: Fehlerhafter Argumenttyp: lselsetp nil den Blocknamen in der lisp routine habe ich umbenannt und den Block in einem Supportpfad gespeichert. Hab ich noch was übersehen, oder funktionierts tatsächlich nicht? Gruß Johannes Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, Monitore, ...
|
erstellt am: 02. Apr. 2005 16:51 <-- editieren / zitieren --> Unities abgeben: Nur für Cad-Max
|
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 04. Apr. 2005 07:44 <-- editieren / zitieren --> Unities abgeben: Nur für Cad-Max
Hallo, falls es jetzt überhaupt noch einen interessiert, ich hatte da eine Variablennamen falsch angegeben: defun C:kreis_block (/ aws n attreq_alt) (setq attreq_alt (getvar "ATTREQ")) (setvar "ATTREQ" 0);;;Falls eine unbekannte Anzahl von Atrtributen vorhanden ist (setq aws (ssget '((0 . "CIRCLE")))) (if aws (progn (setq n 0) (repeat (sslength aws) (command "_.insert" "Blockname" (cdr (assoc 10 (entget (ssname aws n)))) "1" "1" "") (setq n (+ n 1)) ) ) ) (setvar "ATTREQ" attreq_alt) ) ------------------ viele Grüße Jörn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |