| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
Autor
|
Thema: Kreisradius ändern (2361 mal gelesen)
|
Tobi79 Mitglied Projektleiter / CAD-Administrator
Beiträge: 422 Registriert: 22.02.2002 my 1st Version: ME10V9.00 aktiv: (PTC) CoCreate Drafting 2007 mit DrawingManager WUI
|
erstellt am: 12. Mai. 2005 16:15 <-- editieren / zitieren --> Unities abgeben:
Hallo Gibt es eine Möglichkeit, einen Kreis im Durchmesser zu ändern ohne ihn neu zeichnen zu müssen? Es sollte mit einem Befahl ausführbar sein, also nicht mit Massstab oder so. Vielen Dank und Gruss
------------------ Tobi FASHION Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
baumgartner Mitglied Dipl.-Ing. Maschinenbau
Beiträge: 715 Registriert: 05.01.2001 Ing.-Büro Andreas Baumgartner bietet Lösungen rund um ME10. * ME10-Makros * ME10-Makroschulungen
|
erstellt am: 12. Mai. 2005 16:24 <-- editieren / zitieren --> Unities abgeben: Nur für Tobi79
hallo, nichts bekannt. Es gibt die Möglichkeiten: - Ändern, Masstab (neu/alt) hat den Vorteil, dass Bemassung vom Durchmesser und Mittelpunkt usw. erhalten bleibt - Erstellen, Konzentrischer neuer Kreis erstellen, alten löschen. Wenn Du das öfters brauchst, dann schreibe Dir unter Verwendung von Ändern-Massstab ein kleines Makro. (das hast Du bei mir doch hoffentlich erfolgreich gelern ;-))) ) ------------------ Grüsse aus dem Schwarzwald www.Andreas-Baumgartner.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tobi79 Mitglied Projektleiter / CAD-Administrator
Beiträge: 422 Registriert: 22.02.2002 my 1st Version: ME10V9.00 aktiv: (PTC) CoCreate Drafting 2007 mit DrawingManager WUI
|
erstellt am: 12. Mai. 2005 16:37 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von baumgartner: Wenn Du das öfters brauchst, dann schreibe Dir unter Verwendung von Ändern-Massstab ein kleines Makro. (das hast Du bei mir doch hoffentlich erfolgreich gelern ;-))) )
Danke, ich wollte einfach wissen, ob es nicht doch eine einfachere Möglichkeit als die eines Makros gibt. (Sollte nicht so ein Problem sein, ein solches zu verfassen ) ------------------ Tobi FASHION Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rhoffmann Mitglied Techniker
Beiträge: 58 Registriert: 22.01.2003
|
erstellt am: 12. Mai. 2005 16:43 <-- editieren / zitieren --> Unities abgeben: Nur für Tobi79
|
Tobi79 Mitglied Projektleiter / CAD-Administrator
Beiträge: 422 Registriert: 22.02.2002 my 1st Version: ME10V9.00 aktiv: (PTC) CoCreate Drafting 2007 mit DrawingManager WUI
|
erstellt am: 12. Mai. 2005 17:00 <-- editieren / zitieren --> Unities abgeben:
|
bueffel Mitglied techniker
Beiträge: 9 Registriert: 12.05.2005
|
erstellt am: 12. Mai. 2005 19:57 <-- editieren / zitieren --> Unities abgeben: Nur für Tobi79
hallo topi, habe ein kleines makro geschrieben: DEFINE Eelem_dehn_kreis_bogen LOCAL Pelem LOCAL Radius LOCAL Pm LOCAL Pu LOCAL Radius_neu LOCAL Durchmesser_neu LOCAL Pu_radius LOCAL Pu_radius_neu INQ_ENV 3 LOOP LOOP READ PNT PROMPT 'Kreis- oder Bogenelement antippen' Pelem INQ_ELEM Pelem EXIT_IF ((INQ 403=CIRCLE) OR (INQ 403=ARC)) BEEP END_LOOP LET Radius (INQ 3) LET Pm (INQ 101) LET Pu (INQ 102) LOOP READ NUMBER PROMPT 'Neuer Radius eingeben' DEFAULT (INQ 3) Radius_neu EXIT_IF (Radius_neu<>INQ 3) BEEP END_LOOP LET Durchmesser_neu (Radius_neu*2) IF (INQ 403=CIRCLE) LET Pu_radius (PNT_XY ((X_OF Pu)-(X_OF Pm)) ((Y_OF Pu)-(Y_OF Pm))) LET Pu_radius_neu (PNT_XY ((X_OF Pm)+(X_OF Pu_radius)*0.5*Durchmesser_neu/Radius) ((Y_OF Pm)+(Y_OF Pu_radius)*0.5*Durchmesser_neu/Radius)) STRETCH DEL_OLD Pu Pu Pu_radius_neu END ELSE_IF (INQ 403=ARC) LET Pu_radius (PNT_XY ((X_OF Pu)-(X_OF Pm)) ((Y_OF Pu)-(Y_OF Pm))) LET Pu_radius_neu (PNT_XY ((X_OF Pm)+(X_OF Pu_radius)*0.5*Durchmesser_neu/Radius) ((Y_OF Pm)+(Y_OF Pu_radius)*0.5*Durchmesser_neu/Radius)) STRETCH DEL_OLD Pu Pu Pu_radius_neu END LET Pu (INQ 103) LET Pu_radius (PNT_XY ((X_OF Pu)-(X_OF Pm)) ((Y_OF Pu)-(Y_OF Pm))) LET Pu_radius_neu (PNT_XY ((X_OF Pm)+(X_OF Pu_radius)*0.5*Durchmesser_neu/Radius) ((Y_OF Pm)+(Y_OF Pu_radius)*0.5*Durchmesser_neu/Radius)) STRETCH DEL_OLD Pu Pu Pu_radius_neu END END_IF END END_LOOP END_DEFINE Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pi-design Mitglied Design Engineer
Beiträge: 948 Registriert: 09.08.2002 WIN XP SP1 SWX 2004 SP4.1 P4 3,0GHZ 2GB RAM Quadro4 FX1100 ME10
|
erstellt am: 13. Mai. 2005 07:37 <-- editieren / zitieren --> Unities abgeben: Nur für Tobi79
Hallo Toby, vielleicht hilft Dir dieses Macro auch weiter: {+++++++++++++++++++++++++++++++++++++++++++++++++++++++++} {+ Dieses Macro ändert den Durchmesser von Kreisen und +} {+ Bögen ohne daß Mittellinien und Bemaßungen +} {+ gelöscht werden. Funktioniert leider nicht bei +} {+ Kreisen, die an mehr als 2 Stellen aufgetrennt wurden!+} {+++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
DEFINE aendern_kreis LOCAL P LOCAL P0 LOCAL P1 LOCAL R0 LOCAL R1 LOCAL C LOCAL L LOCAL Mp LOCAL v INQ_ENV 3 {Aktuelle Lienieneinstellungen} LOOP {Schleife um gesamtes Macro mehrmals aufzurufen} LOOP {Schleife bis richtiges Element angewählt wird} READ PNT PROMPT 'Bogen oder Kreis wÌhlen:' P {Punkt P anwählen} INQ_ELEM P {Element am Punkt P abfragen} EXIT_IF ((INQ 403=CIRCLE) OR (INQ 403=ARC)){Schleife abbrechen wenn richtiges element} BEEP END_LOOP {sonst nochmal versuchen} COLOR (INQ 201) {Aktuelle Farbe des Elements} LINETYPE (INQ 301) {Aktuelle Linienart des Elements} LET Mp (INQ 101) {Mittelpunkt} LET P0 (INQ 102) {Anfangspunkt} LET R0 (INQ 3) {Radius} READ NUMBER PROMPT 'Neuer Durchmesser:' DEFAULT (2*(INQ 3)) R1 IF (INQ 403=CIRCLE) LET v (PNT_XY ((X_OF P0)-(X_OF Mp)) ((Y_OF P0)-(Y_OF Mp))) {Vektor von Mp nach P0} LET P1 (PNT_XY ((X_OF Mp)+(X_OF V)*0.5*R1/R0) ((Y_OF Mp)+(Y_OF V)*0.5*R1/R0)) {neuer Anfangspunkt} STRETCH DEL_OLD P0 P0 P1 END {Kreis dehnen} ELSE_IF (INQ 403=ARC) LET v (PNT_XY ((X_OF P0)-(X_OF Mp)) ((Y_OF P0)-(Y_OF Mp))) {Vektor von Mp nach P0} LET P1 (PNT_XY ((X_OF Mp)+(X_OF V)*0.5*R1/R0) ((Y_OF Mp)+(Y_OF V)*0.5*R1/R0)) {neuer Anfangspunkt} STRETCH DEL_OLD P0 P0 P1 END {Anfangspunkt des Bogens dehnen} LET P0 (INQ 103) {Endpunkt} LET v (PNT_XY ((X_OF P0)-(X_OF Mp)) ((Y_OF P0)-(Y_OF Mp))) {Vektor von Mp nach P0} LET P1 (PNT_XY ((X_OF Mp)+(X_OF V)*0.5*R1/R0) ((Y_OF Mp)+(Y_OF V)*0.5*R1/R0)) {neuer Anfangspunkt} STRETCH DEL_OLD P0 P0 P1 END {Endpunkt des Bogens dehnen} END_IF END END_LOOP END_DEFINE
Gruß
------------------ pi-design Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
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: 13. Mai. 2005 08:30 <-- editieren / zitieren --> Unities abgeben: Nur für Tobi79
Hallo Mein Makro funktioniert bei Bögen und Kreisen. Auch bei Kreisen die mehrfach getrennt wurden. Dort muss man halt jedes Segment einzeln ändern. Auch Maße bleiben erhalten. DEFINE Arc_mod LOCAL Selelem LOCAL Radius_ist LOCAL Radius_neu LOCAL Mitte INQ_ENV 3 LOOP LOOP READ PNT PROMPT 'Kreis oder Bogen antippen' Selelem INQ_ELEM Selelem EXIT_IF ((INQ 403 = CIRCLE) OR (INQ 403 = ARC)) BEEP END_LOOP LET Radius_ist (INQ 3) LET Mitte (INQ 101) LOOP READ NUMBER PROMPT 'Neuer Radius eingeben' DEFAULT (INQ 3) Radius_neu EXIT_IF (Radius_neu<>INQ 3) BEEP END_LOOP MODIFY DEL_OLD SIMILAR Mitte ((Mitte)+(PNT_XY (Radius_ist) 0)) Mitte ((Mitte)+(PNT_XY (Radius_neu) 0)) Selelem END_LOOP END_DEFINE ------------------ Gruß Bernfried Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tobi79 Mitglied Projektleiter / CAD-Administrator
Beiträge: 422 Registriert: 22.02.2002 my 1st Version: ME10V9.00 aktiv: (PTC) CoCreate Drafting 2007 mit DrawingManager WUI
|
erstellt am: 13. Mai. 2005 08:45 <-- editieren / zitieren --> Unities abgeben:
|
RainerH Mitglied Techn. Ang. (Konstruktion)
Beiträge: 736 Registriert: 22.01.2003 OSDM 14.00A OSDD 14.00A MM 14.00A Windows-XP Professional --- HP xw4100 3.0 GHz 2GB RAM Quadro4 980 XGL
|
erstellt am: 13. Mai. 2005 09:05 <-- editieren / zitieren --> Unities abgeben: Nur für Tobi79
@Tobi ... alle guten Dinge sind 4 !! Hier kannst du auch noch gleich hintendran ein manuell erstelltes Achsenkreuze in der Groesse gleich mitaendern. DEFINE Radiusaendern_macro LOCAL D0 LOCAL D1 LOCAL M1 LOCAL N1 READ PNT 'Punkt am Umfang des zu Ìndernden Kreises, oder Bogens antippen.' D0 EDIT_PART D0 INQ_ELEM D0 IF (INQ 403 = CIRCLE) MEASURE_RADIUS D0 LET D1 (INQ 3) LET M1 (INQ 101) READ NUMBER 'Neuen Kreisdurchmesser fÏr gemessenen Wert eingeben.' DEFAULT (2*D1) D2 MODIFY DEL_OLD SCALE CENTER M1 (D2/(D1*2)) D0 ELSE_IF (INQ 403 = C_CIRCLE) MEASURE_RADIUS D0 LET D1 (INQ 3) LET M1 (INQ 101) READ NUMBER 'Neuen Hilfsgeo-Kreisdurchmesser fÏr gemessenen Wert eingeben.' DEFAULT (2*D1) D2 MODIFY DEL_OLD SCALE CENTER M1 (D2/(D1*2)) D0 ELSE_IF (INQ 403 = ARC) MEASURE_RADIUS D0 LET D1 (INQ 3) LET M1 (INQ 101) READ NUMBER 'Neuen Bogenradius fÏr gemessenen Wert eingeben.' DEFAULT (D1) D2 MODIFY DEL_OLD SCALE CENTER M1 (D2/(D1)) D0 ELSE BEEP DISPLAY '*** UngÏltiger Elementtyp.' RadiusÌndern_macro END_IF END_DEFINE HTH Gruss RainerH. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |