Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Block einfügen an Kreismittelpunkt

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Block einfügen an Kreismittelpunkt (375 mal gelesen)
Cad-Max
Mitglied



Sehen Sie sich das Profil von Cad-Max an!   Senden Sie eine Private Message an Cad-Max  Schreiben Sie einen Gästebucheintrag für Cad-Max

Beiträge: 10
Registriert: 06.11.2004

ACAD 2004 >pur<
ET 2004 DE
Win2k SP4

erstellt am: 02. Apr. 2005 11:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von Proxy an!   Senden Sie eine Private Message an Proxy  Schreiben Sie einen Gästebucheintrag für Proxy

Beiträge: 1629
Registriert: 13.11.2003

Tastaturen, Mäuse,
Pladden, Monitore, ...

erstellt am: 02. Apr. 2005 14:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Cad-Max 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von joern bosse an!   Senden Sie eine Private Message an joern bosse  Schreiben Sie einen Gästebucheintrag für joern bosse

Beiträge: 1734
Registriert: 11.10.2004

erstellt am: 02. Apr. 2005 14:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Cad-Max 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Cad-Max an!   Senden Sie eine Private Message an Cad-Max  Schreiben Sie einen Gästebucheintrag für Cad-Max

Beiträge: 10
Registriert: 06.11.2004

ACAD 2004 >pur<
ET 2004 DE
Win2k SP4

erstellt am: 02. Apr. 2005 14:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von Cad-Max an!   Senden Sie eine Private Message an Cad-Max  Schreiben Sie einen Gästebucheintrag für Cad-Max

Beiträge: 10
Registriert: 06.11.2004

ACAD 2004 >pur<
ET 2004 DE
Win2k SP4

erstellt am: 02. Apr. 2005 16:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von Proxy an!   Senden Sie eine Private Message an Proxy  Schreiben Sie einen Gästebucheintrag für Proxy

Beiträge: 1629
Registriert: 13.11.2003

Tastaturen, Mäuse,
Pladden, Monitore, ...

erstellt am: 02. Apr. 2005 16:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Cad-Max 10 Unities + Antwort hilfreich

Dann tausch die eine Zeile/Befehl
(command "_point" zentrum)
gegen
(command "_.insert" "DEINWUNSCHBLOCKNAME" zentrum "1" "1" "0")
aus.

P.S. joern bosse kann ggf. wenn er will, sein Code etwas aufräumen. 

------------------
MfG Proxy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

joern bosse
Ehrenmitglied
Dipl.-Ing. Vermessung


Sehen Sie sich das Profil von joern bosse an!   Senden Sie eine Private Message an joern bosse  Schreiben Sie einen Gästebucheintrag für joern bosse

Beiträge: 1734
Registriert: 11.10.2004

erstellt am: 04. Apr. 2005 07:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Cad-Max 10 Unities + Antwort hilfreich

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz