| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
| Webcast: PTC | Smart Services, ein Webinar am 13.12.2024
|
Autor
|
Thema: punkt auf Linie (433 / mal gelesen)
|
rkb Mitglied Zeichner
Beiträge: 4 Registriert: 26.01.2015
|
erstellt am: 23. Jul. 2024 06:10 <-- editieren / zitieren --> Unities abgeben:
|
karl-josef_wernet Mitglied SysAdmin CAD-ME
Beiträge: 1013 Registriert: 27.11.2000 PTC-Direct-Modeling/Drafting 19.0 Classic/Tablett DELL T5820, Precision 7760 Workmanager/Model-/Drawing-Manager WIN10
|
erstellt am: 23. Jul. 2024 10:20 <-- editieren / zitieren --> Unities abgeben: Nur für rkb
|
Kotom-Eng Mitglied
Beiträge: 23 Registriert: 18.11.2022
|
erstellt am: 23. Jul. 2024 12:08 <-- editieren / zitieren --> Unities abgeben: Nur für rkb
Zum Beispiel Code: DEFINE Punkt_auf_Linie LOCAL Ctr LOCAL Length LOCAL Nbr LOCAL P01 LOCAL P02 LOCAL Tol LET Length 6 LET Tol 0.001 INQ_SELECTED_ELEM SELECT LINES ALL CONFIRM LET Nbr ( INQ 14 ) LET Ctr 1 WHILE (Ctr <= Nbr) LET P01 ( INQ 101 ) LET P02 ( INQ 102 ) IF (((LEN (P01-P02)) - Length) < Tol) POINT ((P01+P02)/2) END_IF INQ_NEXT_ELEM LET Ctr (Ctr+1) END_WHILE END END_DEFINE
------------------ http://kotom.eng.free.fr/
[Diese Nachricht wurde von Kotom-Eng am 23. Jul. 2024 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkb Mitglied Zeichner
Beiträge: 4 Registriert: 26.01.2015
|
erstellt am: 23. Jul. 2024 12:54 <-- editieren / zitieren --> Unities abgeben:
Hallo Kotom-Eng, das sieht sehr gut aus. Da ich die Punkte auf "Fadenkreuze" setze, habe ich diese dann doppelt. 1x für horizontal und 1x für vertikal. Kann man ja dann bereinigen. Vielen Dank Ronald Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kotom-Eng Mitglied
Beiträge: 23 Registriert: 18.11.2022
|
erstellt am: 23. Jul. 2024 16:07 <-- editieren / zitieren --> Unities abgeben: Nur für rkb
|
rkb Mitglied Zeichner
Beiträge: 4 Registriert: 26.01.2015
|
erstellt am: 24. Jul. 2024 05:49 <-- editieren / zitieren --> Unities abgeben:
Hallo, das Makro nimmt alle Linien mit 6 mm Länge. Bei mir Kreuzen sich 2 Linien, also gibt es 2 Punkte. Seltsamer weise nimmt das Makro auch Linien die zusammen 6 mm ergeben. Also z.B. 2 x 3mm. Dann wird der Punkt Mittig auf einer der beiden Linien gesetzt. Daher habe ich jetzt noch die Trennfunktion deaktiviert. DEFINE Punkt_auf_Linie LOCAL Ctr LOCAL Length LOCAL Nbr LOCAL P01 LOCAL P02 LOCAL Tol LET Length 6 LET Tol 0.001 INQ_SELECTED_ELEM SELECT LINES YELLOW CONFIRM LET Nbr ( INQ 14 ) LET Ctr 1 WHILE (Ctr <= Nbr) LET P01 ( INQ 101 ) LET P02 ( INQ 102 ) IF (((LEN (P01-P02)) - Length) < Tol) SPLITTING OFF POINT PENSIZE 0 cyan DASH_CENTER ((P01+P02)/2) END_IF INQ_NEXT_ELEM LET Ctr (Ctr+1) CLEAN_DRAWING CLEAN_DUPLICATE_GEOMETRY 0.0 CONFIRM END_WHILE END END_DEFINE Gruß Ronald
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2232 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.5011 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.1.0
|
erstellt am: 24. Jul. 2024 19:02 <-- editieren / zitieren --> Unities abgeben: Nur für rkb
|
karl-josef_wernet Mitglied SysAdmin CAD-ME
Beiträge: 1013 Registriert: 27.11.2000 PTC-Direct-Modeling/Drafting 19.0 Classic/Tablett DELL T5820, Precision 7760 Workmanager/Model-/Drawing-Manager WIN10
|
erstellt am: 25. Jul. 2024 14:31 <-- editieren / zitieren --> Unities abgeben: Nur für rkb
Hallo Wolfgang, und wie sähe die Lösung in Annotation aus? Sehr viel komplizierter! Deshalb mein Wunsch in einem anderen Thread, das Drafting durch PTC geöffnet werden sollte. Mit der Demo- Version kann man nicht viel machen. ------------------ kjw Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2232 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.5011 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.1.0
|
erstellt am: 25. Jul. 2024 22:14 <-- editieren / zitieren --> Unities abgeben: Nur für rkb
|
Kotom-Eng Mitglied
Beiträge: 23 Registriert: 18.11.2022
|
erstellt am: 26. Jul. 2024 11:41 <-- editieren / zitieren --> Unities abgeben: Nur für rkb
Hallo RKB, Für Fälle, in denen die Leine kürzer als 6 mm ist, habe ich ABS hinzugefügt. SPLITTING OFF wird vor WHILE gestellt. Es macht keinen großen Unterschied, aber es ist besser. SPLITTING ON wurde am Ende hinzugefügt, es scheint für Sie die Norm zu sein. CLEAN_DRAWING wird nach END_WHILE eingefügt. Es macht keinen großen Unterschied, aber es ist besser. Hallo Wolfgang,
Die Zusatzbedingung ((ABS (X_OF P01) - (X_OF P02)) < TOL) bedeutet, dass die Linie vertikal sein muss, oder? Die anderen 6-mm-Linie sind in diesem Fall also nicht betroffen.
Code: DEFINE Punkt_auf_Linie LOCAL Ctr LOCAL Length LOCAL Nbr LOCAL P01 LOCAL P02 LOCAL Tol LET Length 6 LET Tol 0.001 INQ_SELECTED_ELEM SELECT LINES ALL CONFIRM LET Nbr ( INQ 14 ) LET Ctr 1 SPLITTING OFF WHILE (Ctr <= Nbr) LET P01 ( INQ 101 ) LET P02 ( INQ 102 ) IF (( ABS (( LEN (P01-P02)) - Length)) < Tol) POINT ((P01+P02)/2) END_IF INQ_NEXT_ELEM LET Ctr (Ctr+1) END_WHILE CLEAN_DRAWING CLEAN_DUPLICATE_GEOMETRY 0.0 CONFIRM END SPLITTING ON END_DEFINE
------------------ http://kotom.eng.free.fr/
[Diese Nachricht wurde von Kotom-Eng am 26. Jul. 2024 editiert.] [Diese Nachricht wurde von Kotom-Eng am 26. Jul. 2024 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkb Mitglied Zeichner
Beiträge: 4 Registriert: 26.01.2015
|
erstellt am: 26. Jul. 2024 12:54 <-- editieren / zitieren --> Unities abgeben:
Hallo Wolfgang, hat ein wenig gedauert, aber ich habe es hin bekommen. Da jetzt nur noch auf alle horizontalen Linien ein Punkt gesetzt wird, brauch ich die bereinigung der doppelten Elemente nicht mehr! DEFINE Punkt_auf_Linie LOCAL Ctr LOCAL Length LOCAL Nbr LOCAL P01 LOCAL P02 LOCAL Tol LET Length 6 LET Tol 0.001 INQ_SELECTED_ELEM SELECT LINES YELLOW CONFIRM LET Nbr ( INQ 14 ) LET Ctr 1 SPLITTING OFF WHILE (Ctr <= Nbr) LET P01 ( INQ 101 ) LET P02 ( INQ 102 ) IF (ABS (LEN (X_OF P01 - X_OF P02) - Length) < Tol) POINT cyan DASH_CENTER ((P01+P02)/2) END_IF INQ_NEXT_ELEM LET Ctr (Ctr+1) END_WHILE SPLITTING ON END_DEFINE Gruß und Danke Ronald
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2232 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.5011 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.1.0
|
erstellt am: 26. Jul. 2024 22:36 <-- editieren / zitieren --> Unities abgeben: Nur für rkb
|
r.hoffmann Mitglied Techniker
Beiträge: 128 Registriert: 07.12.2006 OSD 13.2 20.4
|
erstellt am: 30. Jul. 2024 22:00 <-- editieren / zitieren --> Unities abgeben: Nur für rkb
Hallo Wolfgang, auch nicht getestet... IF ( ((ABS ((LEN (P01-P02)) - Length)) < Tol) { length of line, should be ~6mm } AND ((ABS (Y_OF P01 - Y_OF P02)) < Tol) { horizontal line, dy should be ~0mm } ) ... aber das AND sollte schon zwischen den beiden Vergleichen sein.
------------------ Homepage: www.me10-makros.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Moderator Tastenhauer
Beiträge: 2232 Registriert: 3.20. ● PE20+60+80@home ● W10 Pro Build19045.5011 ● Drafting V17~V20.7 ● Modeling V17~V20.7 ● Windchill 12.1.2.6 ● UWGM Client 13.0.1.0
|
erstellt am: 31. Jul. 2024 22:08 <-- editieren / zitieren --> Unities abgeben: Nur für rkb
|