| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Trimmen (1707 mal gelesen)
|
Florian Boe. Mitglied Azubi
Beiträge: 112 Registriert: 15.04.2005 ME10 12er Mausversion/ gemischtes UI
|
erstellt am: 23. Jan. 2006 12:29 <-- editieren / zitieren --> Unities abgeben:
Hallo, gibt es eine Trimmfunktion die teileübergreifend funktioniert? Die normale Funktion zum Trimmen, geht normalerweise ja nur innerhalb eines Teiles. Wenn man nun aber den Bezug auf eine andere Kante aus einem anderen Teil haben möchte, geht dies nicht! Wir haben uns seither immer mit Hilfslinien geholfen, die wir auf die Linie des anderen Teils gelegt haben! Kennt jemand zu diesem Problem einen Befehl? Danke, Gruß Flo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
holt Mitglied Systembetreuer CAD
Beiträge: 713 Registriert: 07.08.2003
|
erstellt am: 23. Jan. 2006 13:25 <-- editieren / zitieren --> Unities abgeben: Nur für Florian Boe.
Hallo, ich habs gerade ausprobiert: in Version 12.01 gibts keine Möglichkeit, in Version 13.x kann man global angeben, dann kann man auch teileübergreifend trimmen! ------------------ Gruß aus dem Salzkammergut Thomas Hollerweger Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomas.h Mitglied Konstrukteur Maschinenbau
Beiträge: 222 Registriert: 13.04.2001 ME10 13.20B SWX 2015 SP5.0 WIN 7 64-bit
|
erstellt am: 23. Jan. 2006 13:36 <-- editieren / zitieren --> Unities abgeben: Nur für Florian Boe.
|
Bernfried Epting Mitglied Konstruktion Sys-admin CAD (ME10 SWX)
Beiträge: 383 Registriert: 06.11.2000 HP Z440 E5-1650v4 3,6Ghz 32Gb Ram Quatro M4000 SWX2017 4.1 Me10 10.0
|
erstellt am: 24. Jan. 2006 08:15 <-- editieren / zitieren --> Unities abgeben: Nur für Florian Boe.
Zitat: Original erstellt von thomas.h: Hallo in einem frühren Beitrag habe ich mal ein Macro eingestellt, mit dem man Linien beliebig verlängern und verkürzen kann. Dabei wird auch inaktive Geometrie gefangen.Aber Vorsicht: Sobald an der Geometrie Bemaßung hängt, wird diese gelöscht ! Thomas
Hallo Auch ich habe so ein Macro. Nur bei mir bleiben Maße erhalten. Hier der Code: DEFINE M_linie_bogen_trimmen LOCAL P1 LOCAL P2 LOCAL P3 LOCAL Mp LOCAL L_element LOCAL L_dummy LOCAL L_bezugspunkt1 LOCAL L_bezugspunkt2 LOCAL L_winkel LOCAL L_winkel1 LOCAL L_winkel2 LOCAL L_endpunkt LOCAL L_prompt LOOP SPLITTING ON INQ_ENV 3 LET L_linie (INQ 301) LET L_color (INQ 201) CATCH PERMANENT ALL LET L_prompt 'zu verlängerndes/verkürzendes Element wählen' READ PROMPT L_prompt L_element SPLITTING OFF IF ((TYPE L_element)=PNT) TRIM_ONE L_element END INQ_SELECTED_ELEM GEO L_element IF ((INQ 403)= LINE) LET P1 (INQ 101) LET P2 (INQ 102) LET L_winkel (ANG (P1 - P2)) IF ((LEN (P1 - L_element))<=(LEN (P2 - L_element))) LET L_bezugspunkt1 P2 LET L_bezugspunkt2 P1 ELSE LET L_bezugspunkt1 P1 LET L_bezugspunkt2 P2 END_IF TRIM_ONE L_element LET L_prompt 'Endpunkt antippen' READ PNT PROMPT L_prompt RUBBER_LINE_ANG L_bezugspunkt1 L_winkel L_endpunkt IGNORE_BREAK LET L_endpunkt (L_bezugspunkt1+(PNT_RA ((LEN (L_endpunkt - L_bezugspunkt1))*COS (((ANG (L_endpunkt - L_bezugspunkt1)) - L_winkel))) L_winkel)) ADD_CURRENT_INFO 'EPT-Trimmen Hilfselement' COLOR BLACK LET P3 (L_endpunkt+(PNT_RA 0.1 (L_winkel+90))) LINE L_endpunkt P3 END TRAP_ERROR IF (((LEN (L_bezugspunkt1 - L_endpunkt))<(LEN (L_bezugspunkt2 - L_endpunkt))) AND ((LEN (L_bezugspunkt1 - L_bezugspunkt2))<(LEN ( L_bezugspunkt2 - L_endpunkt)))) TRIM_ONE ((L_bezugspunkt1+L_element)/2) ((P3+L_endpunkt)/2) END LINE PT_ANG_DIST L_bezugspunkt1 (L_winkel+90) 0.1 END TRIM_ONE ((L_endpunkt+L_bezugspunkt1)/2) L_bezugspunkt1 END ELSE_IF (((LEN (L_bezugspunkt1 - L_endpunkt))<(LEN (L_bezugspunkt2 - L_endpunkt))) AND ((LEN (L_bezugspunkt1 - L_bezugspunkt2))>(LEN ( L_bezugspunkt2 - L_endpunkt)))) TRIM_ONE ((L_bezugspunkt1+L_endpunkt)/2) ((P3+L_endpunkt)/2) END ELSE TRIM_ONE ((L_bezugspunkt1+L_element)/2) ((P3+L_endpunkt)/2) END END_IF DELETE SELECT BLACK AND INFOS 'EPT-Trimmen Hilfselement' CONFIRM END CHANGE_CURRENT_INFO 'EPT-Trimmen Hilfselement' '' ENABLE_BREAK LET L_dummy (CHECK_ERROR) IF (L_dummy=1) DISPLAY 'Element konnte nicht verlängert/verkürzt werden!' END_IF ELSE_IF ((INQ 403)= ARC) LET Mp (INQ 101) LET P1 (INQ 102) LET P2 (INQ 103) LET L_winkel1 (ANG (P1 - Mp)) LET L_winkel2 (ANG (P2 - Mp)) LET L_radius (INQ 3) IF ((LEN (P1 - L_element))<=(LEN (P2 - L_element))) LET L_bezugspunkt1 P2 LET L_bezugspunkt2 P1 TRIM_ONE L_element LET L_prompt 'Endpunkt antippen !' READ PNT PROMPT L_prompt RUBBER_ARC_CEN_END Mp L_bezugspunkt1 L_endpunkt ELSE LET L_bezugspunkt1 P1 LET L_bezugspunkt2 P2 TRIM_ONE L_element LET L_prompt 'Endpunkt antippen !' READ PNT PROMPT L_prompt RUBBER_ARC_CEN_BEG Mp L_bezugspunkt1 L_endpunkt END_IF IGNORE_BREAK LET L_winkel (ANG (L_endpunkt - Mp)) LET L_endpunkt (Mp+(PNT_RA L_radius (ANG (L_endpunkt - Mp)))) ADD_CURRENT_INFO 'EPT-Trimmen Hilfselement' COLOR BLACK LET P3 (L_endpunkt+(PNT_RA 0.1 (ANG (L_endpunkt - Mp)))) LINE L_endpunkt P3 END IF (L_winkel<0) LET L_winkel (L_winkel+360) END_IF IF (L_winkel1<0) LET L_winkel (L_winkel+360) LET L_winkel1 (L_winkel1+360) LET L_winkel2 (L_winkel2+360) END_IF IF (L_winkel2<0) LET L_winkel2 (L_winkel2+360) END_IF IF ((L_winkel>L_winkel1) AND (L_winkel<L_winkel2)) TRAP_ERROR IF (L_bezugspunkt1=P1) TRIM_ONE (Mp+(PNT_RA L_radius ((ANG (L_bezugspunkt1 - Mp))+0.1) )) L_endpunkt END ELSE TRIM_ONE (Mp+(PNT_RA L_radius ((ANG (L_bezugspunkt1 - Mp)) -0.1 ))) L_endpunkt END END_IF ELSE TRAP_ERROR IF (L_bezugspunkt1=P1) TRIM_ONE (Mp+(PNT_RA L_radius ((ANG (L_bezugspunkt2 - Mp)) -0.1 ))) L_endpunkt END ELSE TRIM_ONE (Mp+(PNT_RA L_radius ((ANG (L_bezugspunkt2 - Mp))+0.1) )) L_endpunkt END END_IF END_IF DELETE SELECT BLACK AND INFOS 'EPT-Trimmen Hilfselement' CONFIRM END CHANGE_CURRENT_INFO 'EPT-Trimmen Hilfselement' '' ENABLE_BREAK LET L_dummy (CHECK_ERROR) IF (L_dummy=1) DISPLAY 'Element konnte nicht verlängert/verkürzt werden!' END_IF END_IF LINEPATTERN L_linie END RGB_COLOR L_color END END_IF END_LOOP END_DEFINE ------------------ Gruß Bernfried Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Florian Boe. Mitglied Azubi
Beiträge: 112 Registriert: 15.04.2005 ME10 12er Mausversion/ gemischtes UI
|
erstellt am: 24. Jan. 2006 17:43 <-- editieren / zitieren --> Unities abgeben:
|
caballonegro Mitglied
Beiträge: 25 Registriert: 10.10.2005
|
erstellt am: 14. Feb. 2006 17:20 <-- editieren / zitieren --> Unities abgeben: Nur für Florian Boe.
Kann es sein das man das angeklickte Element damit zwar ändern kann, dies änderung aber nicht in Bezug auf ein anderes Element möglich ist und somit eher ein zufallstreffer wird? Ich habe hier so ein ganz altes Makro, ist nicht von mir, weiss nict mehr von wem, das löscht zwar die Bemassung, funktioniet aber Geometrisch offensichtlich einfacher! Zitat: DEFINE W_linie_trimmen LOCAL Lp LOCAL Lp2 LOCAL Lcolor LOCAL Ltype LOCAL Lstart LOCAL Lend LOCAL Lstart_2 LOCAL Lend_2 LOCAL Dist_1 LOCAL Dist_2 LOCAL L_help LOCAL L_help_1 LOCAL L_help_2 LOCAL L_help_3 LOCAL L_help_4 LOCAL L_help_5 LOCAL Angle LOCAL Sec_angle LOCAL D_1 LOCAL D_2 LOCAL D_3 LOCAL D_4 LOCAL D_5 LOCAL D_6 LOCAL D_7 LOCAL D_8 LOCAL Centerp LOCAL X_centerp LOCAL Y_centerp LOCAL Radius LOCAL Xlp_2 LOCAL Ylp_2 LOCAL T_temp LOCAL Temp_1 LOCAL Temp_2 LOOP LOOP READ PNT 'Zu trimmende Linie antippen' Lp INQ_ELEM Lp IF (INQ 403<> LINE) BEEP DISPLAY 'Nur trimmen von Linien moeglich! ' END_IF EXIT_IF (INQ 403= LINE) END_LOOP LET Lcolor (INQ 201) LET Ltype (INQ 301) LET Lstart (INQ 101) LET Lend (INQ 102) LET Angle (ANG (Lstart - Lend)) LET Dist_1 (LEN (Lp - Lstart)) LET Dist_2 (LEN (Lp - Lend)) DELETE SELECT LINES Lp CONFIRM IF (Dist_1>Dist_2) LET Lp (Lstart) ELSE_IF (Dist_2>Dist_1) LET Lp (Lend) END_IF READ PNT 'Bitte neuen Endpunkt der Linie angeben' RUBBER_LINE_ANG Lp Angle Lp2 INQ_ELEM Lp2 IF ((INQ 403= LINE) OR (INQ 403= C_LINE)) IF (INQ 403= LINE) LET Lstart_2 (INQ 101) LET Lend_2 (INQ 102) ELSE_IF (INQ 403= C_LINE) LET Lstart_2 (INQ 101) LET Sec_angle (INQ 3) LET Lend_2 (Lstart_2+(PNT_RA 200 Sec_angle)) END_IF LET D_1 ((X_OF Lstart_2) - (X_OF Lstart)) LET D_2 ((X_OF Lend_2) - (X_OF Lstart_2)) LET D_3 ((Y_OF Lstart_2) - (Y_OF Lstart)) LET D_4 ((Y_OF Lend_2) - (Y_OF Lstart_2)) LET D_5 ((X_OF Lend) - (X_OF Lstart)) LET D_6 ((X_OF Lend_2) - (X_OF Lstart_2)) LET D_7 ((Y_OF Lend) - (Y_OF Lstart)) LET D_8 ((Y_OF Lend_2) - (Y_OF Lstart_2)) LET L_help_1 ((W_calc D_1 D_2 D_3 D_4)) LET L_help_2 ((W_calc D_5 D_6 D_7 D_8)) LET L_help_2 (ROUND (L_help_2*10^12)) LET L_help_2 (L_help_2/10^12) IF (L_help_2=0) UNDO BEEP DISPLAY 'Linien sind parallel oder identisch !!' W_linie_trimmen END_IF LET L_help (L_help_1/L_help_2) LET Xlp_2 ((X_OF Lstart)+L_help*((X_OF Lend) - (X_OF Lstart))) LET Ylp_2 ((Y_OF Lstart)+L_help*((Y_OF Lend) - (Y_OF Lstart))) LET Lp2 (PNT_XY Xlp_2 Ylp_2) LINETYPE Ltype COLOR Lcolor LET Temp_1 (ROUND (Lp*10^12)) LET Temp_2 (ROUND (Lp2*10^12)) IF (Temp_1=Temp_2) W_trim_error Ltype Lcolor Lstart Lend ELSE LINE Lp Lp2 END END_IF ELSE_IF ((INQ 403= CIRCLE) OR (INQ 403= ARC) OR (INQ 403= C_CIRCLE) OR (INQ 403= FILLET)) LET Centerp (INQ 101) LET Radius (INQ 3) LET Radius (ROUND (Radius*10^12)) LET Radius (Radius/10^12) LET X_centerp (X_OF Centerp) LET Y_centerp (Y_OF Centerp) LET I_help_3 (Y_OF Lend - Y_OF Lstart) LET L_help_4 (- (X_OF Lend - X_OF Lstart)) LET L_help_5 (((Y_OF Lend - Y_OF Lstart)*(- X_OF Lstart)) - ((X_OF Lend - X_OF Lstart)*(- Y_OF Lstart))) LET T_temp ((ABS (I_help_3*X_centerp+L_help_4*Y_centerp+L_help_5))/( SQRT (SQR I_help_3+SQR L_help_4))) LET T_temp (ROUND (T_temp*10^12)) LET T_temp (T_temp/10^12) IF (T_temp=Radius) LET Xlp_2 ((1/(SQR I_help_3+SQR L_help_4))*((SQR L_help_4)* X_centerp - (I_help_3*L_help_4*Y_centerp) - (I_help_3*L_help_5))) LET Ylp_2 ((1/(SQR I_help_3+SQR L_help_4))*((SQR I_help_3)* Y_centerp - (I_help_3*L_help_4*X_centerp) - (L_help_4*L_help_5))) LET Lp2 (PNT_XY Xlp_2 Ylp_2) LINETYPE Ltype COLOR Lcolor LET Temp_1 (ROUND (Lp*10^12)) LET Temp_2 (ROUND (Lp2*10^12)) IF (Temp_1=Temp_2) W_trim_error Ltype Lcolor Lstart Lend ELSE LINE Lp Lp2 END END_IF ELSE_IF (T_temp<Radius) LET Xlp_21 ((1/(SQR I_help_3+SQR L_help_4))*(((SQR L_help_4)* X_centerp - (I_help_3*L_help_4*Y_centerp) - (I_help_3*L_help_5))+( L_help_4*SQRT ((SQR Radius)*(SQR I_help_3+SQR L_help_4) - SQR ( I_help_3*X_centerp+L_help_4*Y_centerp+L_help_5))))) LET Xlp_22 ((1/(SQR I_help_3+SQR L_help_4))*(((SQR L_help_4)* X_centerp - (I_help_3*L_help_4*Y_centerp) - (I_help_3*L_help_5)) - ( L_help_4*SQRT ((SQR Radius)*(SQR I_help_3+SQR L_help_4) - SQR ( I_help_3*X_centerp+L_help_4*Y_centerp+L_help_5))))) LET Ylp_22 ((1/(SQR I_help_3+SQR L_help_4))*(((SQR I_help_3)* Y_centerp - (I_help_3*L_help_4*X_centerp) - (L_help_4*L_help_5))+( I_help_3*SQRT ((SQR Radius)*(SQR I_help_3+SQR L_help_4) - SQR ( I_help_3*X_centerp+L_help_4*Y_centerp+L_help_5))))) LET Ylp_21 ((1/(SQR I_help_3+SQR L_help_4))*(((SQR I_help_3)* Y_centerp - (I_help_3*L_help_4*X_centerp) - (L_help_4*L_help_5)) - ( I_help_3*SQRT ((SQR Radius)*(SQR I_help_3+SQR L_help_4) - SQR ( I_help_3*X_centerp+L_help_4*Y_centerp+L_help_5))))) LET Linpun21 (PNT_XY Xlp_21 Ylp_21) LET Linpun22 (PNT_XY Xlp_22 Ylp_22) IF ((LEN (Lp2 - Linpun21))<(LEN (Lp2 - Linpun22))) LET Lp2 (Linpun21) ELSE LET Lp2 (Linpun22) END_IF LINETYPE Ltype COLOR Lcolor LET Temp_1 (ROUND (Lp*10^12)) LET Temp_2 (ROUND (Lp2*10^12)) IF (Temp_1=Temp_2) W_trim_error Ltype Lcolor Lstart Lend ELSE LINE Lp Lp2 END END_IF ELSE_IF (T_temp>Radius) LINETYPE Ltype COLOR Lcolor LINE Lstart Lend END DISPLAY 'Kein Schnittpunkt moeglich' W_linie_trimmen END_IF ELSE LINETYPE Ltype COLOR Lcolor LET Temp_1 (ROUND (Lp*10^12)) LET Temp_2 (ROUND (Lp2*10^12)) IF (Temp_1=Temp_2) W_trim_error Ltype Lcolor Lstart Lend ELSE LINE PT_ANG_DIST Lp Angle Lp2 END END_IF END_IF END_LOOP END_DEFINE
------------------ gruß caballonegro Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |