Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Drafting
  Alle Bemassungen mit EDIT_DIM_TEXT editieren

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo
Autor Thema:  Alle Bemassungen mit EDIT_DIM_TEXT editieren (906 mal gelesen)
Mark E
Mitglied
Ingenieur


Sehen Sie sich das Profil von Mark E an!   Senden Sie eine Private Message an Mark E  Schreiben Sie einen Gästebucheintrag für Mark E

Beiträge: 15
Registriert: 09.08.2012

OSDD V15.5
Solid Works 2010 PE
CATIA V5R16
ACAD 2011

erstellt am: 13. Aug. 2012 08:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

ich möchte den Text aller Maße innerhalb einer Zeichnung (mit Teilestruktur) editieren.
Um die Maße aller Teile zu editieren brauche ich eine Schleife, denke die kann ich mit einigen Beispielen hier im Forum programmieren.

Frage 1: Wie kann ich innerhalb eines Teiles alle Maße mit einem Befehl in einem Makro editieren? Der Text der Bemaßung soll sich nicht ändern, sondern lediglich editiert werden.
EDIT_DIM_TEXT fordert laut Hilfe einen Punkt und einen String. Ich habe es versucht mit:
EDIT_DIM_TEXT ALL aber das funktioniert nicht.

Frage 2: Wie muss ich den String wählen, damit die Maßzahl nicht geändert wird?

Hintergrund: Ich schreibe ein Makro zur Umwandlung von Zeichnungen, damit diese nach Konvertierung zu dxf in der vom Kunden geforderten Struktur erscheinen. Dafür muss ich leider die Teile-Struktur lösen. Teile, die in einem anderen Maßstab gezeichnet wurden, werden beim Einbinden verändert. Dazu möchte ich die Maße editieren um dies zu entgehen.

Vielen Dank für Hilfen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

riesi
Mitglied
CAD-Admin, SolidWorks-Backend-Developer


Sehen Sie sich das Profil von riesi an!   Senden Sie eine Private Message an riesi  Schreiben Sie einen Gästebucheintrag für riesi

Beiträge: 1016
Registriert: 06.05.2002

SolidWorks 2020-Sp5
OneSpaceDrafting V20.5
MS-Windows 10 Prof. 64Bit
Core i7-6700 @ 3.40 GHz
32,00 GB RAM
ATI WX 5100

erstellt am: 13. Aug. 2012 09:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mark E 10 Unities + Antwort hilfreich

Du kannst die Bemaßungen mit INQ_ELEM / INQ_NEXT_ELEM packen, dann kannst Du mit EDIT_DIM_TEXT INQ 101 für die Position  und als Wert INQ 3 einsetzen. Bei dem Punkt würde ich mit PICK_VP_PNT 1 x,y arbeiten, dass sollte dann sicher klappen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mark E
Mitglied
Ingenieur


Sehen Sie sich das Profil von Mark E an!   Senden Sie eine Private Message an Mark E  Schreiben Sie einen Gästebucheintrag für Mark E

Beiträge: 15
Registriert: 09.08.2012

OSDD V15.5
Solid Works 2010 PE
CATIA V5R16
ACAD 2011

erstellt am: 13. Aug. 2012 09:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von riesi:
Du kannst die Bemaßungen mit INQ_ELEM / INQ_NEXT_ELEM packen, dann kannst Du mit EDIT_DIM_TEXT INQ 101 für die Position  und als Wert INQ 3 einsetzen. Bei dem Punkt würde ich mit PICK_VP_PNT 1 x,y arbeiten, dass sollte dann sicher klappen.

Ich fürchte, diesen Ansatz bräuchte ich etwas detaillierter. Tut mir leid.

Wie würde die Befehlszeile mit EDIT_DIM_TEXT dann aussehen?

EDIT_DIM_TEXT INQ (101) INQ (3) PICK VP_PNT 1 X,Y

(Was macht der PICK_VP_PNT 1? Damit "gaukle" ich dem Programm einen Klick vor? Die Wahl der Maße erfolgt vorher über INQ_ELEM?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mark E
Mitglied
Ingenieur


Sehen Sie sich das Profil von Mark E an!   Senden Sie eine Private Message an Mark E  Schreiben Sie einen Gästebucheintrag für Mark E

Beiträge: 15
Registriert: 09.08.2012

OSDD V15.5
Solid Works 2010 PE
CATIA V5R16
ACAD 2011

erstellt am: 13. Aug. 2012 10:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

So habe ich das bis jetzt geschrieben, funktioniert aber noch nicht.
Ich weiß nicht wie ich über INQ_ELEM und INQ_NEXT_ELEM die Auswahl treffen kann und wie der Befehl DIM_TEXT_EDIT korrekt aufgebaut wird.

DEFINE bemedit
LOCAL TEXT
LOCAL ART
LOCAL PICK
LOCAL SCHLEIFE
INQ_ENV 8
LET SCHLEIFE (INQ 5)
WHILE (SCHLEIFE > 0){Schleife um durch alle Teile zu gehen}
TRAP_ERROR
EDIT_PART ('~' + (STR SCHLEIFE))
IF (NOT CHECK_ERROR)
LOOP
REPEAT {Schleife um durch alle Elemente zu gehen}
INQ_ELEM PICK - Wie wähle ich alle Bemassungen hintereinander aus? -
LET ART (INQ 403)
IF (ART = DIM_LINE)
EDIT_DIM_TEXT - Wie lautet die korrekte Befehlszeile? -
ELSE IF (ART = DIM_RADIUS)
EDIT_DIM_TEXT
ELSE IF (ART= DIM_DIAMETER)
EDIT_DIM_TEXT
ELSE IF (ART = DIM_ARC)
EDIT_DIM_TEXT
ELSE IF (ART = DIM_ANGLE)
EDIT_DIM_TEXT
ELSE IF (ART = DIM_CHAIN)
EDIT_DIM_TEXT
ELSE IF (ART = DIM_DATUM_SHORT)
EDIT_DIM_TEXT
ELSE IF (ART = DIM_DATUM_LONG)
EDIT_DIM_TEXT
ELSE IF (ART = DIM_COORD)
EDIT_DIM_TEXT
ELSE IF (ART = DIM_CHAMFER)
EDIT_DIM_TEXT
END_IF
UNTIL ((INQ 14 = 0)
END_LOOP
END_IF
LET SCHLEIFE (SCHLEIFE -1)
END_WHILE

END

END_DEFINE

Vielen Dank für die Hilfe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

friedhelm at work
Mitglied
Techniker Aluminium Profile


Sehen Sie sich das Profil von friedhelm at work an!   Senden Sie eine Private Message an friedhelm at work  Schreiben Sie einen Gästebucheintrag für friedhelm at work

Beiträge: 882
Registriert: 01.04.2003

Creo Elements Direct
/Drafting 17+20.x
ui classic-Tablett + Ribbon,
Modeling 17-20.0,.2,.4,.5
Lizenz auf USB-Netzwerkadapter
PE-Express 8
Win 10 Enterprise 64 @work
Win 10 Pro 64 @home
Notepad++,IrfanView,eDrawings,
....

erstellt am: 13. Aug. 2012 17:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mark E 10 Unities + Antwort hilfreich

Hallo Mark,
nicht mit INQ_ELEM sondern mit INQ_SELECTED_ELEM.

Versuch es mal damit 

Code:
DEFINE Bemedit
  LOCAL Txt
  LOCAL Art
  LOCAL Pick
  LOCAL Schleife
  INQ_ENV 8
  LET Schleife (INQ 5)
  WHILE (Schleife>0)
    TRAP_ERROR
    IF (NOT CHECK_ERROR)
      EDIT_PART ('~'+(STR Schleife))
      INQ_SELECTED_ELEM DIMENSIONS ALL
      REPEAT
        LET Art (INQ 403)
        IF (POS (STR Art) 'DIM_')
          LET Pick (INQ 101)
          LET Txt (STR (INQ 306))
          EDIT_DIM_TEXT Pick Txt
        END_IF
        INQ_NEXT_ELEM
      UNTIL (INQ 14=0)
    END_IF
    LET Schleife (Schleife -1)
  END_WHILE
  END
END_DEFINE

------------------
Gruss Friedhelm

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mark E
Mitglied
Ingenieur


Sehen Sie sich das Profil von Mark E an!   Senden Sie eine Private Message an Mark E  Schreiben Sie einen Gästebucheintrag für Mark E

Beiträge: 15
Registriert: 09.08.2012

OSDD V15.5
Solid Works 2010 PE
CATIA V5R16
ACAD 2011

erstellt am: 14. Aug. 2012 08:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke Friedhelm

Läuft einwandfrei und ohne Murren.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mark E
Mitglied
Ingenieur


Sehen Sie sich das Profil von Mark E an!   Senden Sie eine Private Message an Mark E  Schreiben Sie einen Gästebucheintrag für Mark E

Beiträge: 15
Registriert: 09.08.2012

OSDD V15.5
Solid Works 2010 PE
CATIA V5R16
ACAD 2011

erstellt am: 15. Aug. 2012 13:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich dachte ich hätte nun alles am laufen, aber nun in den Probeläufen tauchen (wie zu erwarten war) weitere Fehler auf.

Wenn nun die Teilenummern nicht durchgehend sind, führt folgende Zeile natürlich zu einem Fehler:

EDIT_PART ('~'+(STR Schleife))

Gibt es eine Möglichkeit diesen Fehler aufzufangen, damit das Makro trotzdem fortgesetzt wird? Oder eine andere Möglichkeit der Schleife um alle Bauteile durchzugehen?

EDIT:
Hintergrund: Ich lösche Teile aus den Zeichnungen bevor ich den Rest umwandel. Nachdem Löschen sind die Nummern in der Teile-Liste nicht vergeben. Speicher ich die Datei ab und öffne diese neu, wurde die Teileliste aktualisiert und die Teilenummern sind wieder vorhanden. Ich bräuchte also lediglich einen Befehl wie ich die Teileliste vorher aktualisiere, gibt es da was?

[Diese Nachricht wurde von Mark E am 15. Aug. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mark E
Mitglied
Ingenieur


Sehen Sie sich das Profil von Mark E an!   Senden Sie eine Private Message an Mark E  Schreiben Sie einen Gästebucheintrag für Mark E

Beiträge: 15
Registriert: 09.08.2012

OSDD V15.5
Solid Works 2010 PE
CATIA V5R16
ACAD 2011

erstellt am: 15. Aug. 2012 14:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hat sich erledigt:
Den Befehl den ich suchte heißt: RESET_PART_NUMBER. Da hatte ich wohl Tomaten auf den Augen beim Suchen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Industriemechanikerin / Industriemechaniker (w/m/d)

Als ?Die Forschungsuniversität in der Helmholtz-Gemeinschaft? schafft und ver­mittelt das Karlsruher Institut für Technologie (KIT) Wissen für Gesellschaft und Umwelt. Ziel ist es, zu den globalen Herausforderungen maßgebliche Beiträge in den Feldern Energie, Mobilität und Information zu leisten. Daran arbeiten am KIT rund 9.800 Mitarbeiterinnen und Mitarbeiter auf einer breiten disziplinären Basis in Forschung, Lehre und Innovation zusammen....

Anzeige ansehenFeste Anstellung
friedhelm at work
Mitglied
Techniker Aluminium Profile


Sehen Sie sich das Profil von friedhelm at work an!   Senden Sie eine Private Message an friedhelm at work  Schreiben Sie einen Gästebucheintrag für friedhelm at work

Beiträge: 882
Registriert: 01.04.2003

Creo Elements Direct
/Drafting 17+20.x
ui classic-Tablett + Ribbon,
Modeling 17-20.0,.2,.4,.5
Lizenz auf USB-Netzwerkadapter
PE-Express 8
Win 10 Enterprise 64 @work
Win 10 Pro 64 @home
Notepad++,IrfanView,eDrawings,
....

erstellt am: 15. Aug. 2012 21:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mark E 10 Unities + Antwort hilfreich

  ich finde diesen Befehl auch nicht wenn ich ihn mal wieder suche. 
Hab noch daran gedacht als ich das Macro weiter gebastelt habe.
Deine Schleife gefällt mir übrigens gut, bin bisher immer über die Teilenamen gegangen.
Uis sind unterwegs.

------------------
Gruss Friedhelm

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz