Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Erzeugen von Regeloberflächen

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:  Erzeugen von Regeloberflächen (490 mal gelesen)
Werner-Maahs.de
Mitglied
CAD-Dozent + Konstrukteur + Autor


Sehen Sie sich das Profil von Werner-Maahs.de an!   Senden Sie eine Private Message an Werner-Maahs.de  Schreiben Sie einen Gästebucheintrag für Werner-Maahs.de

Beiträge: 626
Registriert: 04.05.2005

Win XP
AC 2005/6
Manchmal AC 2011

erstellt am: 02. Feb. 2008 09:57    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


Regelob.txt

 
Wenn ich in einer Zeichnung 2 Objekte, z.B. Bogen und Linie, erstellt habe, diese per Selectionset (ss) mit dem Befehl Regelob auswähle, bekomme ich nicht immer die gewünschte Form.
Mache ich es von Hand, muss ich nahe den jeweils zusammengehörenden Enden anklicken.

Meine Frage ist:
Wie kann ich es in einer LISP (mit ss) formulieren, dass ich das gewünscht Ergebnis bekomme?

------------------
strukturiertes Zeichnen mit www.Werner-Maahs.de

[Diese Nachricht wurde von Werner-Maahs.de am 03. Feb. 2008 editiert.]

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

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 02. Feb. 2008 12:16    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 Werner-Maahs.de 10 Unities + Antwort hilfreich

Hallo Werner,
Du übergibts an den Command-Aufruf nicht nur die Objekte, sondern Listen wie sie z.B. entsel zurückgeben (OBJ pkt)
Wie Du dann aber Anfangs- oder Endpunkt bestimmts mußt Du Dir selber überlegen.
Code:

(command "Regelob"
(list Obj_1
      (cdr(assoc 10 (entget obj_1))));;;oder 11 Endpunkt
(list Obj_2
      (polar (cdr(assoc 10 (entget Obj_2)))
      (cdr(assoc 50 (entget Obj_2)));;;oder 51 für Winkel am Endpunkt
      (cdr(assoc 40 (entget Obj_2))))))

------------------
viele Grüße

Jörn

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

Werner-Maahs.de
Mitglied
CAD-Dozent + Konstrukteur + Autor


Sehen Sie sich das Profil von Werner-Maahs.de an!   Senden Sie eine Private Message an Werner-Maahs.de  Schreiben Sie einen Gästebucheintrag für Werner-Maahs.de

Beiträge: 626
Registriert: 04.05.2005

Win XP
AC 2005/6
Manchmal AC 2011

erstellt am: 03. Feb. 2008 13:36    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,
danke für Deine Antwort!

Allerdings glaube ich, dass sie nicht das ist was ich wollte.

Bei Deinem Lösungsansatz wird m.E. ein Punkt herausgegeben. Ich wollte aber eine Objekt wählen.
Der Grund liegt darin, weil meine Routine auch mit einer komplexen Zeichnung umgehen soll und nicht das vermeintlich zuletzt gezeichnete Objekt an der gewählten Stelle wählt. Zudem müsste m.E. für die 'polar ...'-Eingabe auch das BKS auf das gewählte Objekt ausgerichtet werden.
Wenn es keine andere Lösung gibt, stellt dies aber auch kein Problem dar.

------------------
strukturiertes Zeichnen mit www.Werner-Maahs.de

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

Window 10
ACAD 2021
CIVIL 2021
BricsCAD V14-V22
Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz
16.0GB RAM
NVIDIA GeForce GTX 1050<P>

erstellt am: 03. Feb. 2008 19:13    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 Werner-Maahs.de 10 Unities + Antwort hilfreich

Hallo Werner,
Zitat:

Bei Deinem Lösungsansatz wird m.E. ein Punkt herausgegeben. Ich wollte aber eine
Objekt wählen.


Das verstehe ich nicht ganz, Du willst doch dem Command-Befehl "regelob" 2 Objekte übergeben. Zudem müssen diese Objekte die Information über den Pickpunkt haben, damit das Ergebnis ordentlich erstellt werden kann.
Ich habe der Funktion jetzt pro Objekt eine Liste übergeben, wie sie sonst ENTSEL zurückgibt.
Wenn Du im BKS arbeitest, dann mußt Du noch ein TRANS mit einbauen:
Code:

(command "Regelob"
(list Obj_1
      (trans(cdr(assoc 10 (entget obj_1)))0 1));;;oder 11 Endpunkt
(list Obj_2
      (trans 
      (polar (cdr(assoc 10 (entget Obj_2)))
      (cdr(assoc 50 (entget Obj_2)));;;oder 51 für Winkel am Endpunkt
      (cdr(assoc 40 (entget Obj_2))))0 1)))

------------------
viele Grüße

Jörn

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

Werner-Maahs.de
Mitglied
CAD-Dozent + Konstrukteur + Autor


Sehen Sie sich das Profil von Werner-Maahs.de an!   Senden Sie eine Private Message an Werner-Maahs.de  Schreiben Sie einen Gästebucheintrag für Werner-Maahs.de

Beiträge: 626
Registriert: 04.05.2005

Win XP
AC 2005/6
Manchmal AC 2011

erstellt am: 03. Feb. 2008 20:42    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,
Danke nochmals für Deine Antwort.
Ich kann es ja nur theoretisch ansprechen, da ich diesen Fall ja nur ausschließen möchte!

Ich meine, dass wenn an dem spezifiziertem Punkt auch andere Objekte gezeichnet sind, ist die Objektwahl nicht mehr eindeutig.
Der Befehl REGELOB ermöglicht an der Kommandozeile eine Seitenzuordnung durch die Objektwahl. Objekt und Seitenzuordnung kann ich durch optische Auswahl des Anklickpunktes eindeutig wählen.
In Lisp wähle ich zwar das gewünschte Objekt (setq Obj (entlast)) vorher aus, übergebe dem Befehl REGELOB aber nur den dadurch ermittelten Punkt.
Die Funktion TRANS ist dabei zwar wichtig aber nicht mein Problem.

So beim Schreiben kommt mir gerade die Idee, statt der Objektwahl den Anklickpunkt mit OFang NÄC und (getpoint ...) sicher auszuwählen.

Oder bin ich auf dem Holzweg?

------------------
strukturiertes Zeichnen mit Werner-Maahs

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

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



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

Beiträge: 9732
Registriert: 01.12.2003

One AutoCAD 2.5 - 2023, Civil 3D, Win10/win11

erstellt am: 03. Feb. 2008 23:26    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 Werner-Maahs.de 10 Unities + Antwort hilfreich

So wie Jörn es vorgeschlagen hat, ist es richtig - wie bei (ENTSEL) - einfach mal eingeben und testen.
Es wird Pickpunkt UND Objektname übergeben, damit ist sowohl das Objekt als auch das zu wählende Ende eindeutig selektiert.

------------------
Mit freundlichem Gruß

Udo Hübner

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

Werner-Maahs.de
Mitglied
CAD-Dozent + Konstrukteur + Autor


Sehen Sie sich das Profil von Werner-Maahs.de an!   Senden Sie eine Private Message an Werner-Maahs.de  Schreiben Sie einen Gästebucheintrag für Werner-Maahs.de

Beiträge: 626
Registriert: 04.05.2005

Win XP
AC 2005/6
Manchmal AC 2011

erstellt am: 06. Feb. 2008 10:20    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

@Björn
Danke für den Lösungsweg! Es hat nun auch bei mir geklappt!

@Udo
Vermutlich habe ich den Extraanstoss gebraucht, ich habe übersehen, dass ja 2 Parameter mit der Liste übergeben werden. Allerdings hatte ich nicht gewusst, dass dies überhaupt möglich ist.

Ich werde allerdings bei meiner Idee bleiben, da ich in vorhandenen Zeichnungen ja selten den Anfangs- und Endpunkt eines Objekte kenne.

Trotzdem hat dieser Thread mir und vielleicht auch anderen eine wichtige Information gebracht.

Nochmals Danke!

------------------
strukturiertes Zeichnen mit Werner-Maahs

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