Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Scheitelpunkt x / Kontollpunkt

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:  Scheitelpunkt x / Kontollpunkt (1947 mal gelesen)
AB
Mitglied



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

Beiträge: 255
Registriert: 24.05.2002

Mechanical Desktop 6
AutoCAD 2002

erstellt am: 10. Jun. 2003 14:06    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


Schnittpunkte.gif

 
Liebe Forum-Mitglieder,

ich habe eine Frage, zu einem Thema, welches schon häufiger diskutiert wurde, wo ich aber noch keine vollständige Antwort zu gefunden habe.
Es geht mal wieder um die Kontroll- bzw. Stützpunkte einer LWPOLYLINE.

Ich habe mehrere LISP zu dem Thema  gefunden, aber es werden mir immer nur 2 Koordinaten ausgegeben. Mir fehlt jetzt z.B. der x-Wert (z. B. 244,45).
Über das Eigenschaftsfenster kann ich mir aber die kompletten Koordinaten aller Vertex ansehen, das bedeutet doch, dass dieser x-Wert auch irgendwo gespeichert sein muss, aber wo? Ich habe den dxf-Code auch schon danach durchsucht, aber nichts gefunden.
Ich möchte nämlich alle Schnittpunkte von den grünen Linien mit der türkisen Linie ermitteln. Bei den geraden Linien funktioniert das auch.

Weiß vielleciht jemand Rat?

Viele Grüße
Andrea

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

Ulf Böger
Mitglied



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

Beiträge: 281
Registriert: 18.09.2002

IBM R50p 1.7GHz 1GB RAM
ATI Mobility Fire GL T2 128 MB
Win2000 SP3
AutoCAD Mechanical 2004 DX
Inventor 8 SP1
ADT 2004
PartSolutions 8

erstellt am: 10. Jun. 2003 14:45    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 AB 10 Unities + Antwort hilfreich

Hi,
wie ermittelst du denn die scheitelpunkte? Du bekommst im Normalfall eine Liste (x y z)! Bei einer Polylinie kan das durchaus nur (x y) sein! Mit (car (...)) bekommst du z.B. den x-Wert! Sollte dein Problem anderer Natur sein, beschreibe es etwas näher!

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

AB
Mitglied



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

Beiträge: 255
Registriert: 24.05.2002

Mechanical Desktop 6
AutoCAD 2002

erstellt am: 10. Jun. 2003 15:29    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


Forum.zip

 
Hallo Ulf,

vielen Dank für Deine Hilfe. Ich habe Dir mal die Zeichnung und mein LISP angehängt, dann ist mein Problem wahrscheinlich besser verständlich.
Das LISP wird mittendrin plötzlich abgebrochen, da nicht die benötigten Daten herausgefiltert wurden.

Ich hoffe, Du kannst damit etwas anfangen.

Viele Grüße
Andrea

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 10. Jun. 2003 19: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 AB 10 Unities + Antwort hilfreich

Hallo Andrea,

ich habe mir zwar die Zeichnung nicht angesehen, aber mal in Dein Lisp reingeschaut.
Versuche es mal mit folgendem Code. Dieser ermittelt den/die Schnittpunkte von 2 Elementen.
Falls du wissen willst, was diese Zeilen 'anrichten', dann schau mal auf Axel's VL-Seiten, da solltest du diesen Code auch finden.

Code:

(defun intersect(ent1 ent2 / ar)
  (vl-load-com)
  (setq ar
    (vlax-invoke-method
      (vlax-ename->vla-object ent1)
    'IntersectWith
      (vlax-ename->vla-object ent2)
      acExtendNone
    )
  )
  (if
    (/= -1
      (vlax-safearray-get-u-bound
        (vlax-variant-value ar)
        1
      )
    )
    (gather
      (vlax-safearray->list
        (vlax-variant-value ar)
      )
      3
    )
  )
)
(defun gather(ls len / tmp rl i)
  (setq i 0)
  (foreach item ls
    (setq tmp(append tmp(list item)))
    (setq i(1+ i))
    (if(zerop(rem i len))
      (setq rl(cons tmp rl) tmp nil)
    )
  )
  (reverse rl)
)

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
CADlon - Lisp over night!
4 Neue Tool's im FreeDownload(gesamt 33)!?

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

Ulf Böger
Mitglied



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

Beiträge: 281
Registriert: 18.09.2002

IBM R50p 1.7GHz 1GB RAM
ATI Mobility Fire GL T2 128 MB
Win2000 SP3
AutoCAD Mechanical 2004 DX
Inventor 8 SP1
ADT 2004
PartSolutions 8

erstellt am: 11. Jun. 2003 07: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 Nur für AB 10 Unities + Antwort hilfreich

Morgen,
habe mal die Zeichnung geöffnet und die das Programm laüfen lassen. Es ist ein bissche zu lang um den Fehler einfach rausfinden zu können. Sicher ist nur, dass irgendwo ein ENTER zu viel sein könnte. Einen Kleinigkeit eben.Aber ich denke Holgers Programm wird da abhilfe schaffen!

Zitat:
Original erstellt von AB:
Hallo Ulf,

vielen Dank für Deine Hilfe. Ich habe Dir mal die Zeichnung und mein LISP angehängt, dann ist mein Problem wahrscheinlich besser verständlich.
Das LISP wird mittendrin plötzlich abgebrochen, da nicht die benötigten Daten herausgefiltert wurden.

Ich hoffe, Du kannst damit etwas anfangen.

Viele Grüße
Andrea


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

AB
Mitglied



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

Beiträge: 255
Registriert: 24.05.2002

Mechanical Desktop 6
AutoCAD 2002

erstellt am: 11. Jun. 2003 09:06    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

Guten Morgen Ihr zwei,

vielen Dank für Eure Hilfe. Ich habe jetzt gerade das Programm von Holger bei mir eingebaut und alles funktioniert einwandfrei. Bei Gelegnheit werde ich mal sehen, wo mein Fehler lag.
Aber nochmals vielen Dank Euch beiden.

Viele Grüße
Andrea

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

AB
Mitglied



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

Beiträge: 255
Registriert: 24.05.2002

Mechanical Desktop 6
AutoCAD 2002

erstellt am: 11. Jun. 2003 16:01    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


Quader.zip

 
Ich muss doch noch eine Frage stellen, denn leider funktioniert das mit dem Schnittpunkt nicht immer.
So z.B. bei der rot markierten Linie in meiner Zeichnung. Alle anderen Schnittpunkte können mit dem Skript von Holger ermittelt werden.
Warum denn die nicht?

Viele Grüße
Andrea

!!!Oh, mir ist aufgefallen, wo der Fehler liegt. Die beiden Linien schneiden sich nicht direkt. Ist es möglich einen Toleranzwert einzugeben?

[Diese Nachricht wurde von AB am 12. Juni 2003 editiert.]

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 12. Jun. 2003 08:40    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 AB 10 Unities + Antwort hilfreich

Hallo Andrea,

ein Toleranzwert ist nicht möglich. Was heißt eigentlich, schneiden sich nicht direkt? Entweder die Linien schneiden sich - oder nicht!

Du könntest natürlich die Linien in eine Ebene Projezieren und dann die Schnittpunkte ermitteln, aber ob dir das weiterhilft? Ich denke, du solltest die Linien genauer der Körperkontur anpassen, dann schneiden die sich auch.

Bei Fragen ...

Grüße Holger

------------------
Holger Brischke
CADlon - Lisp over night!
4 Neue Tool's im FreeDownload(gesamt 33)!?

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

AB
Mitglied



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

Beiträge: 255
Registriert: 24.05.2002

Mechanical Desktop 6
AutoCAD 2002

erstellt am: 12. Jun. 2003 09: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

"schneiden sich nicht genau" heißt, es sieht auf dem Bildschirm zwar so aus, als würden sie sich schneiden, aber mit dem ofang wird kein Schnittpunkt gefangen. D.h. ja, dass es auch keinen gibt und in einer ganz großen Vergrößerung kann man dann wahrscheinlich auch eine Lücke sehen.
Wenn es keine Möglichkeit gibt einen Toleranzwert mit einfließen zu lassen, dann muss ich versuchen das ganze mehr an die Geometrie anzupassen.

Vielen Dank und viele Grüße
Andrea

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

Ulf Böger
Mitglied



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

Beiträge: 281
Registriert: 18.09.2002

IBM R50p 1.7GHz 1GB RAM
ATI Mobility Fire GL T2 128 MB
Win2000 SP3
AutoCAD Mechanical 2004 DX
Inventor 8 SP1
ADT 2004
PartSolutions 8

erstellt am: 12. Jun. 2003 13:55    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 AB 10 Unities + Antwort hilfreich

Hallo AB,
du hast da ein kleines Problem! Wenn du den Schnittpunkt berechen willst, muss es tatsächlich einen geben. Ansonsten gäbe es ja sehr viele virtuelle Schnittpunkte und ist es schwer herauszufinden welcher der Richtige ist. Du musst also geometrisch weirklich so arbeiten, dass es einen gibt. Evtl. kannst du ja bei der erzeugung mit DEHEN o.ä. arbeiten?

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

AB
Mitglied



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

Beiträge: 255
Registriert: 24.05.2002

Mechanical Desktop 6
AutoCAD 2002

erstellt am: 07. Jul. 2003 08:25    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


SPProblem.gif

 
Guten Morgen zusammen,

ich muss das Problem mit dem finden des Schnittpunktes noch mal aufgreifen.
Insbesondere tritt das Problem bei Kugeln auf (s. Bild).
Ich habe Querschnitte darüber gelegt und mit dem Skript von Holger bzw. Axel (s.o.) versucht ALLE Schnittpunkte zu ermitteln. Einige werden aber nicht gefunden, da sie anscheinend, aufgrund der Geometrie nicht genau aufeinander liegen. Mit "dehnen" kann ich da doch auch nix machen.
Ich habe einfach die Hoffnung, dass es eine Systemvariable oder so gibt, mit der ich angeben kann, wie groß die Abstände zwischen den Linien sein dürfen, um noch einen SP ermitteln zu können. Es kann doch nicht sein, dass z.B. bei Kugeln keine SP gefunden werden können oder?

Viele Grüße
Andrea

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

AB
Mitglied



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

Beiträge: 255
Registriert: 24.05.2002

Mechanical Desktop 6
AutoCAD 2002

erstellt am: 14. Jul. 2003 15:12    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

So, ich habe nun das Problem gelöst. Es ist ganz einfach:
Es ist entscheidend, ob man den Schnittpunkt zwischen der blauen Linie und der grünen Linie sucht oder umgekehrt.
Ich habe in das LISP somit eingefügt, dass wenn kein Schnittpunkt gefunden wird, die Inhalte der Variablen ent1 und ent2 vertauscht werden sollen. Dann erhalte ich den fehlenden SP.
(Vielleicht hilft dieser Beitrag irgendwann mal anderen, die das gleiche Problem haben).

Viele Grüße
Andrea

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

Theodor Schoenwald
Ehrenmitglied



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

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 15. Jul. 2003 01:34    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 AB 10 Unities + Antwort hilfreich

Hallo Andrea,

wenn nun dein Programm gut funktioniert, könntest du es uns auch listen.

Danke!

Gruß
Theodor Schönwald

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

AB
Mitglied



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

Beiträge: 255
Registriert: 24.05.2002

Mechanical Desktop 6
AutoCAD 2002

erstellt am: 15. Jul. 2003 07:19    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 Theodor,

gut ist übertrieben, ich habe nämlich schon wieder ein Problem entdeckt.
Wenn eine der Linien aus vielen kleinen, einzelnen Linien zusammengesetzt wurde, dann läßt sich schon wieder kein Schnittpunkt finden. Es ist zum Verrückt werden.
Wenn ich das Problem gelöst habe, dann werde ich das LISP hier rein stellen.

Viele Grüße
Andrea

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