| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo |
Autor
|
Thema: Equidistance im Makro (582 mal gelesen)
|
Tom R Mitglied Technischer Zeichner
Beiträge: 274 Registriert: 02.11.2003 Solid Edge ST7 mit SMAP Piping OSDD 2006 unter Win 7
|
erstellt am: 17. Jun. 2004 16:32 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich habe mal wieder ein Problem: ich möchte quasi eine Rohrkontur entlang einer vorhandenen Mittellinie erstellen. Dazu habe ich mir ein Makro gebastelt, das mir nach Anklicken eines Elementes Parallelen im angegebenen Abstand auf beiden Seiten erzeugt. Die Mittellinien sind also vorhanden und werden der Reihe nach angeklickt. Das funktioniert mit Linien, Kreisbögen und Radien. Das sind ja auch die häufigsten Elemente in so einem Linienzug. Liegt ein Radius aber schräg im Raum, habe ich ein Bspline, der sich als Teil einer Ellipse ergab. Und diesen zu versetzen, kriege ich nicht hin. Eine andere Möglichkeit als das mittels EQUIDISTANCE zu machen ist mir nicht eingefallen. Bisher sieht der Code so aus: ELSE_IF ((INQ 403) = BSPLINE) LET P1 (INQ 101) EQUIDISTANCE (DRA/2) P1 Poi 'END' (Poi+PNT_XY 10 1) Poi ist der Punkt, den man angeklickt hat, der also auf dem Element liegt. P1 ist also einer der Endpunkte. Natürlich fehlt hier noch der zweite Equidistance-Befehl für die andere Seite der Mittellinie, den ich mit (Poi+PNT_XY -10 -1) definieren wollte. Was passiert ist, dass das Programm, offenbar nach dem "END", ein Beep hören lässt und dann manchmal die Eingabe der Seite erwartet: Der Spline ist highlighted und das "Gummiband" wird angezeigt. Nach Klick wird der Spline auch versetzt, das Makro ist aber verlassen. Manchmal lässt er aber auch diese manuelle Eingabe nicht mehr zu, ich kann aber nicht erkennen, in welchen Fällen. Mein Ellipsenteil besteht aus zwei Teilen, da der Trennpunkt der Ellipse drin liegt. Am größeren Teil funktioniert es noch, am kleineren nicht. Kann mir jemand sagen, was ich falsch gemacht habe, oder wie ich mein Ziel vielleicht auch eleganter erreichen kann? Denn die Sache mittels Koordinate die Seite zu definieren, ist auch ein bißchen fragwürdig, da man im Grenzfalle entgegengesetzte Koordinaten doch auf der gleichen Spline-Seite haben kann. Hoffentlich versteht überhaupt jemand, was ich hier meine. Viele Grüße Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
awi Mitglied Programmierer
Beiträge: 275 Registriert: 11.11.2001 awinformatik - individuallösungen rund um me10. - pc-steuerungen.
|
erstellt am: 17. Jun. 2004 18:01 <-- editieren / zitieren --> Unities abgeben: Nur für Tom R
|
Tom R Mitglied Technischer Zeichner
Beiträge: 274 Registriert: 02.11.2003 Solid Edge ST7 mit SMAP Piping OSDD 2006 unter Win 7
|
erstellt am: 18. Jun. 2004 07:57 <-- editieren / zitieren --> Unities abgeben:
|
awi Mitglied Programmierer
Beiträge: 275 Registriert: 11.11.2001 awinformatik - individuallösungen rund um me10. - pc-steuerungen.
|
erstellt am: 18. Jun. 2004 08:29 <-- editieren / zitieren --> Unities abgeben: Nur für Tom R
|
Tom R Mitglied Technischer Zeichner
Beiträge: 274 Registriert: 02.11.2003 Solid Edge ST7 mit SMAP Piping OSDD 2006 unter Win 7
|
erstellt am: 18. Jun. 2004 08:52 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von awi: hi toom in bögen und liniengruss andré
Ah ja. Wusste gar nicht, dass das geht. Vielen Dank. Stimmt, das würde die Sache natürlich vereinfachen. Allerdings sollte das Ganze dann natürlich automatisch ablaufen. Ich habe nämlich gerade mal getestet und habe aus einem solchen Spline ca. 20 Elemente erhalten. Die soll man dann ja nicht alle einzeln anklicken müssen. Wie kann ich also die Elemente, die aus dem Spline entstanden sind, ermitteln (bzw. einen Punkt darauf), damit ich sie an das Makro übergeben kann? Eine andere Frage ist die: wie sieht der Kurvenverlauf des getrennten Spline hinterher im Druck aus, da der mittlere ja strichpunktiert sein muss? Viele Grüße Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tom R Mitglied Technischer Zeichner
Beiträge: 274 Registriert: 02.11.2003 Solid Edge ST7 mit SMAP Piping OSDD 2006 unter Win 7
|
erstellt am: 18. Jun. 2004 11:27 <-- editieren / zitieren --> Unities abgeben:
Hai! Jetzt kann ich das Problem etwas genauer umreissen: die Umwandlung klappt, dann ist aber Feierabend. Um die Linien und Bögen zu versetzen, müsste ich deren Positionen kennen, für Equidistance sind die Elemente komischerweise nicht mehr anwählbar?!? Zumindest nicht, wenn ich angrenzende Elemente habe. Komische Sache, das. Also: wenn ich nach der Umwandlung Equidistance wähle, kann ich ja nur den ehemaligen Anfangs- sowie Enpunkt angeben. Das macht er komischerweise nicht, sondern warnt nur akustisch. Aber auch per Trace kann ich nicht erkennen, was ihn stört. Selbst wenn es funktionieren würde, wäre ein weiteres Problem, dass der Endpunkt üblicherweise der Anfangspunkt einer weiteren Linie ist, die aber nicht versetzt werden soll. Also, ich weiss nicht weiter. Viele Grüße Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
awi Mitglied Programmierer
Beiträge: 275 Registriert: 11.11.2001 awinformatik - individuallösungen rund um me10. - pc-steuerungen.
|
erstellt am: 18. Jun. 2004 12:01 <-- editieren / zitieren --> Unities abgeben: Nur für Tom R
hi tom ichmache das so wenn ich equidistance benutze. - abstand - startpunkt - letztes element anwählen das noch erfasst werden soll - end - richtung wählen gruss andré ------------------ awi André Weidmann Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tom R Mitglied Technischer Zeichner
Beiträge: 274 Registriert: 02.11.2003 Solid Edge ST7 mit SMAP Piping OSDD 2006 unter Win 7
|
erstellt am: 18. Jun. 2004 12:18 <-- editieren / zitieren --> Unities abgeben:
Hallo André! Das habe ich ja versucht. Aber mit dem Befehl, der im Topic steht, hat das nicht funktioniert. Und ich weiss eben nicht, woran es liegt. Ich habe z. B. eine waagerechte Linie, etwas versetzt eine senkrechte und zur Verbindung eine Viertelellipse. Viele Grüße Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
anneB Mitglied CAD Applikationsbetreuer
Beiträge: 22 Registriert: 07.04.2004
|
erstellt am: 18. Jun. 2004 15:54 <-- editieren / zitieren --> Unities abgeben: Nur für Tom R
|
awi Mitglied Programmierer
Beiträge: 275 Registriert: 11.11.2001 awinformatik - individuallösungen rund um me10. - pc-steuerungen.
|
erstellt am: 18. Jun. 2004 17:19 <-- editieren / zitieren --> Unities abgeben: Nur für Tom R
|
Tom R Mitglied Technischer Zeichner
Beiträge: 274 Registriert: 02.11.2003 Solid Edge ST7 mit SMAP Piping OSDD 2006 unter Win 7
|
erstellt am: 21. Jun. 2004 12:31 <-- editieren / zitieren --> Unities abgeben:
Hallo Anne, hallo André! Die Sache mit dem END hab' ich korrigiert, jetzt funktioniert das auch. War wohl vorher noch ein anderer Fehler drin, als ich das noch richtig hatte. Es gibt aber noch zwei Probleme dabei: 1. Die Seitenangabe ist ein bißchen Glücksache. Wenn ich die Äquidistante je vom selben Startpunkt erzeuge, macht er beide Versatzlinien komischerweise auf dieselbe Seite, zumindest bei meinen paar Tests. So wie ich's jetzt gelöst habe, klappt es bisher. 2. Die Sache mit dem END: Wenn der Spline frei steht, bricht das Makro an der Stelle ab, weil das END im Befehl nicht gebraucht wird. Sind aber Linien angeschlossen, ist es ein Muss. Ich habe den Code mal versucht anzuhängen. Falls jemand Lust hat, das Ganze zu verbessern oder Tipps zu geben, wäre ich sehr dankbar. Wenn nicht, danke ich euch trotzdem, weil ihr auch so schon gut geholfen habt. Viele Grüße Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |