Autor
|
Thema: Gibt es Funktion: Punkt auf Linie ? (1634 mal gelesen)
|
Daeumling Mitglied Student
Beiträge: 23 Registriert: 26.01.2009
|
erstellt am: 04. Feb. 2009 09:08 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe mal wieder ein neues Problem, bevor ich mich meinem anderen Problem weiter zuwenden kann. Also ausgehend von Bild ist die Ausgangslage. Die unterbrochenen Linien stellen den möglichen Anbindungsraum dar, wo sich eine eingebaute Schelle befinden darf. Ich wollte erst "einfach" den Abstand von Punkt zur Linie ermitteln. Ich habe aber eine Befürchtung, dass der Abstand immer null ist, da der Punkt sich durch die Kontaktbedingung immer auf Flucht mit der Linie befindet. Daher meine Frage: Gibt es eine Funktion die sagt, dass der Punkt Element der Linie ist. Also sich zwischen Endpunkt und Anfangspunkt der jeweiligen Linien befindet oder sowas. Bin für jeden Tip Dankbar. Oder kann man auch an den Anfangs- und Endpunkten der Linien jeweils eine Ebene legen und dem Bauteil irgendwie sagen, dass eine Kollisionsabfrage stattfindet, die verhindert, dass er diesen Bereich verlässt? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 04. Feb. 2009 09:31 <-- editieren / zitieren --> Unities abgeben: Nur für Daeumling
Hallo Daumling, puh also ich versteh dein Problem nicht ganz bzw. verstehe ich nicht wirklich was du genau machen möchtest. Ein Punkt kann auf jeden Fall NUR dann ein Teil einer Linie sein, wenn er sich DIREKT auf der Linie befindet und nicht wie auf dem Bild NUR in der Flucht der Linie liegt. Die Funktion Point on Curve gibt es also, aber hier kannst du nur einen Rationwert von 0 (= Startpunkt der Supportlinie) und 1 (= Enpunkt der Supportlinie) wählen. Du kannst aber nicht 1,5 (dann wäre der Punkt ausserhalb der Linie wählen). ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Daeumling Mitglied Student
Beiträge: 23 Registriert: 26.01.2009
|
erstellt am: 04. Feb. 2009 09:52 <-- editieren / zitieren --> Unities abgeben:
Ja, er soll ja genau "rummeckern" wenn der Punkt nicht auf der Linie ist. Das Bild soll quasi nur zeigen, wie es nicht sein soll. Also ich möchte eine "Schelle" an diese Linie anbinden. Diese Linie stellt quasi die Mittelinie des Rohres da, wodran ich die Schelle anbinden will. Da diese Rohr selber montiert wird kann ich also nicht überall meine Schelle an dieses Rohr anbinden, deshalb sind die Linien unterbrochen. Ich will nun halt quasi eine Schelle(dessen Mittelpunkt der besagte Punkt ist) über einen Constrain mit der Linie verbinden. Und diese Schelle soll halt nur in dem Bereich AUF der Linie und NIE ausserhalb der Line (also dem verbotenem Bereich) erzeugt werden Ich habe unter "AnyObject" -> Joint einen Type von PointOnCurve entdeckt. Ist das das was du meintest? Wie handle ich das denn? Kannste mir dazu nen kleinen Denkanstoß geben? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 04. Feb. 2009 09:58 <-- editieren / zitieren --> Unities abgeben: Nur für Daeumling
Hallo, hab noch ne kurze Frage. Machst du ein Script? Oder arbeitest du mit dem KnowledgeAdvisor (KWA-Lizenz muss vorhanden sein). Wie soll genau der Ablauf sein? Wie wird der Punkt erzeugt (innerhalb eines Scriptes oder durch den Anwender?) ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Daeumling Mitglied Student
Beiträge: 23 Registriert: 26.01.2009
|
erstellt am: 04. Feb. 2009 10:02 <-- editieren / zitieren --> Unities abgeben:
Ich erzeuge ein Skript Und hab erst die besagten Schellen geöffnet, unter neuem Namen gespeichert und dann in mein Product geladen. Nun wollte ich über Constraint auch die genauen Positionen "vermitteln". Weil diese verbotenen Bereiche halt nicht benutzt werden sollen. Da ich diese Parts erst während der ausführung des Makros reinlade wusste ich nicht, ob ich ein Rule erstellen kann bzw. ob das überhaupt mit einem Rule machbar ist. Ich bin halt erstmal auf der Suche nach Ideen zur Lösung des Problems. Das Problem ist nur, dass ich an dem Product selber relativ wenig verändern und einfügen soll..Das ist quasi gesetzt. Drum wollt ich es "extern" übers Makro versuchen zu lösen. Wie gesagt, bin für alles offen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Daeumling Mitglied Student
Beiträge: 23 Registriert: 26.01.2009
|
erstellt am: 04. Feb. 2009 10:10 <-- editieren / zitieren --> Unities abgeben:
|
denyo_1 Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 04. Feb. 2009 10:34 <-- editieren / zitieren --> Unities abgeben: Nur für Daeumling
Zitat: Original erstellt von Daeumling: achja:Also der Punkt befindet sich (von mir als Public ins Part eingefügt) auf dem Mittelpunkt der Schelle und wird quasi durch das AddcomponentfromFile mit eingefügt
OK damit währe eine Sache geklärt. Jetzt ist die Frage wird das von dir mit AddComponenteFromFile durch ein Script oder per Hand eingefügt? ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Daeumling Mitglied Student
Beiträge: 23 Registriert: 26.01.2009
|
erstellt am: 04. Feb. 2009 10:39 <-- editieren / zitieren --> Unities abgeben:
|
Daeumling Mitglied Student
Beiträge: 23 Registriert: 26.01.2009
|
erstellt am: 04. Feb. 2009 10:41 <-- editieren / zitieren --> Unities abgeben:
"'msgbox PartNewName Set ProdDoc = CATIA.ActiveDocument Set Prod = ProdDoc.Product Set Prods = Prod.Products Set ProductEbene2 = Prods.Item(4) Set ProdsEbene2 = ProductEbene2.Products PartName(0) = PartNewName ProdsEbene2.AddComponentsFromFiles PartName, "All" " der Quelltext dazu [Diese Nachricht wurde von Daeumling am 04. Feb. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |