Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Modeling
  Makro schreiben für DXF-Export

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 PTC CREO
Autor Thema:  Makro schreiben für DXF-Export (1742 mal gelesen)
ls
Mitglied
Konstrukteur Systembetreuer


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

Beiträge: 37
Registriert: 23.05.2002

erstellt am: 19. Jun. 2003 08:44    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 Ihr Makro-Experten

Ich muss ein Makro schreiben, welches ich in Annotation anwenden kann. Dabei geht es darum von einer 2D-Zeichnung, welche diverse Ansichten mit einer Abwicklungsansicht (WICHTIG!!!) enthält, über einen Knopf-Druck alles löschen kann ausser die Abwicklungsansicht, d.h. auch Bemassung alle gelben Linien und Ansichten müssen weg. Nur die reine Geometrie darf übrig bleiben. Wir brauchen das, um anschliessend in der Werkstatt diese Zeichnung als DXF wieder einlesen zu können und so die Kontur von Blechen mit dem hergestellten Teil zu vergleichen.

Ich habe dabei schon angefangen zu programmieren, hier der Ausschnitt:

("nur Geometrie Extented"
:title      "nur Geometrie Extented"
:action      (PROGN
      (UI:UIC-AM-ACTION "am_delete2 :geo :GEO :docu_dimension :by_drawing_docu_rest complete")
      (UI:UIC-AM-ACTION "am_delete2 :geo :GEO :docu_symbol :by_drawing_docu_rest complete")
      (UI:UIC-AM-ACTION "am_delete2 :geo :GEO :docu_text :by_drawing_docu_rest complete")
      (UI:UIC-AM-ACTION "am_delete2 :geo :GEO :docu_ref_text_line :by_drawing_docu_rest complete")
      (UI:UIC-AM-ACTION "am_delete2 :geo :GEO :docu_center_line :by_drawing_docu_geo complete")
      (UI:UIC-AM-ACTION "am_delete2 :geo :GEO :docu_tangent_geo :by_drawing_docu_geo complete")
      (UI:UIC-AM-ACTION "am_delete2 :geo :GEO :docu_sym_line :by_drawing_docu_geo complete")
      (UI:UIC-AM-ACTION "am_delete2 :geo :GEO :docu_face :by_drawing_docu_geo complete")
      (UI:UIC-AM-ACTION "am_delete2 :geo :GEO :docu_point :by_drawing_docu_geo complete")
      (UI:UIC-AM-ACTION "am_delete2 :geo :GEO :docu_c_circle :by_drawing_docu_geo complete")
      (UI:UIC-AM-ACTION "am_delete2 :geo :GEO :docu_hidden_geo :by_drawing_docu_geo complete")
      (UI:UIC-AM-ACTION "am_delete2 :geo :GEO :docu_c_line :by_drawing_docu_geo complete")
      (UI:UIC-AM-ACTION "AM_SHEET_RESIZE :frame-type \"Keine\" complete")

              (UI:UIC-AM-ACTION "AM_DELETE2 :GEO :del_all :YES complete")
      )
:ui-behavior :relative
)

Jetzt habe ich eigentlich nur noch zwei Probleme:
1. Wie kriege ich die Biege-Linien in der Abwicklung weg?
2. Wie kriege ich alle Ansichten ausser die Abwicklung weg?

Kann mir da jemand helfen??? Schwierig nicht war!!!

------------------
Gruss
ls

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

karl-josef_wernet
Mitglied
SysAdmin CAD-ME


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

Beiträge: 979
Registriert: 27.11.2000

PTC-Direct-Modeling/Drafting 19.0
Classic/Tablett
DELL T5820, Precision 7760
Workmanager/Model-/Drawing-Manager
WIN10

erstellt am: 19. Jun. 2003 12:26    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 ls 10 Unities + Antwort hilfreich

Hi,
hast Du die Zeichnung mal in ME10 angeschaut,
insbesondere die Infos. Moeglicherweise hast Du hier einen
Ansatzpunkt um die unerwuenschten Biegelinien zu entfernen.
Bei der Abgewickelten Ansicht, muesste man ueber den Ansichtsnamen
eine Selektion machen können.

------------------
kjw

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

Dittrich
Mitglied
SysAdmin


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

Beiträge: 388
Registriert: 06.06.2000

Wenn es nicht geht, probier was anderes,
vielleicht geht es dann auch nicht.

erstellt am: 20. Jun. 2003 07:35    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 ls 10 Unities + Antwort hilfreich

Hi, ich kenne die Makroprogrammierung im Drafting nicht, aber dieses Rätsel musste ich in ME10 schon mehrfach lösen. Für die Biegelinien habe ich keine Idee, wenn sie sich nicht über Farbe, Linienart oder Info eindeutig identifizieren lassen. Um die anderen Ansichten wegzuwerfen gibt es eine automatische Lösung, wenn die Abwicklung ein eigenständiges Teil ist und per Namen identifizierbar ist. Ansonsten interaktiv mit 3-4 Klicks. Folgendes Makro ist die Negation des globalen Löschens mit Auswahlrahmen. Löscht eben alles was ausserhalb des gewählten Rahmens ist. Wenn es dir gelingt die Zeichnungskoordinaten der Abwicklung dort reinzusteuern ist es ein Automatismus. Ich weiss aber nicht wie das im Drafting geht.

DEFINE Del_gl_ohne_box
  LOCAL P1
  LOCAL P2
  READ PNT '1.Punkt waehlen' P1
  READ PNT '2.Punkt waehlen' RUBBER_BOX P1 P2
  DELETE SELECT GLOBAL ALL SUBTRACT GLOBAL BOX P1 P2 CONFIRM
  REDRAW
END_DEFINE

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

Walter Geppert
Moderator
Frank und Frei




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

Beiträge: 2143
Registriert: 12.12.2000

Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf
HP ZBook 17 G4, Windows 10 Pro 64

erstellt am: 23. Jun. 2003 09:28    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 ls 10 Unities + Antwort hilfreich

Hallo ls,
ich kann mich meinen Vorrednern (-schreibern?) nur anschliessen: So ein Problem, wo die Assoziativität keine Rolle mehr spielt, ist "quick and dirty" mit ME10-Makros schneller zu lösen. Dazu gibts (sd-execute-annotator-command :cmd befehl). befehl kann natürlich auch ein Makroname sein. Das kann man auch mit (sd-execute-annotator-command :cmd (format nil "INPUT pfad/dateiname" )) initialisieren.
Sieh dir die Infos und Teilestruktur einer repräsentativen Zeichnung  in ME10 an, die Ansichten sind ja Teile mit sprechenden Namen und die Linienelemente haben alle entsprechende Infos.

------------------
Grüße aus Wien
Walter
DC4 Technisches Büro GmbH

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

ls
Mitglied
Konstrukteur Systembetreuer


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

Beiträge: 37
Registriert: 23.05.2002

erstellt am: 24. Jun. 2003 08:08    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

Nun vielen Dank mal für die bisherigen Antworten. Sie konnten mich ein Stückweit weiter helfen. Doch jetzt stecke ich schon wieder fest.

Ich habe mich entschiede mein Problem in 2 Teilschritte zu lösen:
1. User muss ein Makro ausführen (ist nur teilweise fertig)
2. User kann anhand des unten aufgeführten Makros alle anderen Ansichten löschen.

An dieser Stelle ist ein Dankeschön an Dittrich angebracht. Ich hoffe du kannst mir nun beim Punkt 1 weiterhelfen. Selbstverständlich nehmen ich aber auch von allen anderen Forum-Usern gerne Hilfe entgegen.

DEFINE Geometrie
CHECK_3D_GEO_MODIFY OFF CONFIRM END
CHANGE_GLOBAL_INFO '*' '' CONFIRM END
DELETE SELECT GLOBAL C_GEO ALL CONFIRM END
DELETE SELECT GLOBAL CENTERLINES ALL CONFIRM END
DELETE SELECT GLOBAL SYMLINES ALL CONFIRM END
DELETE SELECT GLOBAL EDITED_DIMENSIONS ALL CONFIRM END
DELETE SELECT GLOBAL DIMENSIONS ALL CONFIRM END
DELETE SELECT GLOBAL TEXTS ALL CONFIRM END
REDRAW
END_DEFINE

Worum gehts noch: Das angeführte Makro läuft irgendwie nicht. Kann mir jemand sagen wieso? Wenn ich die Zeilen einzelnen im ME10 ausführe, dann ist alles tip top.
Weiter fehlen mir noch 2 Anweisungen in diesem Makro:
1. Alle Biege-Linien löschen (gelb; Strich-2-Punkt)
2. Alle gelben Linien löschen
Es dürfen nur die weissen Linien übrig bleiben.

Vielen Dank für eure Hilfe.

------------------
Gruss
ls

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

Walter Geppert
Moderator
Frank und Frei




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

Beiträge: 2143
Registriert: 12.12.2000

Konstruktion von Sondermaschinen, Montageautomaten, Meß- und Prüfeinrichtungen, Vorrichtungen und Produktentwicklung mit Creo Elements/Direct Modeling 20.4, AdvancedDesign, Surfacing, Simulate, SolidPower, ModelManager auf
HP ZBook 17 G4, Windows 10 Pro 64

erstellt am: 24. Jun. 2003 16:21    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 ls 10 Unities + Antwort hilfreich

Also mit diesem Befehl sollte in Anno schon das meisste erschlagen sein:
(oli::sd-execute-annotator-command :cmd "DELETE SELECT GLOBAL ALL SUBTRACT GLOBAL WHITE CONFIRM END")
Wenn es noch weisse Texte oder Bemassungen geben sollte:
(oli::sd-execute-annotator-command :cmd "DELETE SELECT GLOBAL TEXTS ALL CONFIRM END")
(oli::sd-execute-annotator-command :cmd "DELETE SELECT GLOBAL DIMENSIONS ALL CONFIRM END")
Noch mal zu Wiederholung:
Diese Methode ist ausserordentlich brutal und sollte wirklich nur für Exportzwecke verwendet werden, wo Assoziativität wurscht ist!!!

------------------
Grüße aus Wien
Walter
DC4 Technisches Büro GmbH

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

Bernard_D
Mitglied
Konstruktionsingenieur


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

Beiträge: 30
Registriert: 05.07.2002

erstellt am: 25. Jun. 2003 14:28    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 ls 10 Unities + Antwort hilfreich

In der Zeile "CHECK_3D_GEO_MODIFY OFF CONFIRM END" muss "CONFIRM END" gelöscht werden. ME10 verlangt aber trotzdem von Hand eine Bestätigung, dann läuft das Makro weiter.

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

ls
Mitglied
Konstrukteur Systembetreuer


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

Beiträge: 37
Registriert: 23.05.2002

erstellt am: 25. Jun. 2003 15:53    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 Walter

Vielen Dank für deinen Tip, jetzt funz das Mekro soweit ich es mal programmiert haben.
Was jetzt noch zu lösen wäre, ist das ich die gelben Biegelinie löschen kann. Den folgenden Befehl geht leider so nicht:

DELETE SELECT GLOBAL GEO YELLOW SOLID CONFIRM

Dieser Befehl löscht mir immer alles.

Kann mir jemand sagen was hier falsch sein könnte.
Vielen Dank.

------------------
Gruss
ls

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

karl-josef_wernet
Mitglied
SysAdmin CAD-ME


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

Beiträge: 979
Registriert: 27.11.2000

PTC-Direct-Modeling/Drafting 19.0
Classic/Tablett
DELL T5820, Precision 7760
Workmanager/Model-/Drawing-Manager
WIN10

erstellt am: 26. Jun. 2003 00:12    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 ls 10 Unities + Antwort hilfreich

Hi,
die Routine zum loeschen muss etwas modifiziert werden

DELETE SELECT GLOBAL GEO SOLID AND GLOBAL YELLOW CONFIRM

Jetzt muesste es funktionieren

------------------
kjw

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

Tommy
Mitglied
Dipl.-Ing. ET


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

Beiträge: 20
Registriert: 08.11.2000

erstellt am: 26. Jun. 2003 09:54    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 ls 10 Unities + Antwort hilfreich

Hallo ls,

wir haben bei uns in der Firma eine ähnliche Problematik und haben dies wie teilweise in den Beiträgen beschrieben gelöst :

Abwicklungen werden über sheet-adviser erzeugt -> Teilegeometrie dort ist immer im Teil "upside". Dieses Teil wird über Makro bereinigt und beim Speichern der Zeichnung (Speicherdialog stillgelegt & Speichern über seperaten Dialog im FS) wird automatisch die entsprechende Abwicklung unter gleichem Dateinamen mit seperater Endung gespeichert. Da wir (noch) ohne workmanager arbeiten, sammelt dann ein cron-job auf dem Server die ganzen Abwicklungen ein und verschiebt diese an den Programmierpool.
Damit kann kein Konstrukteur vergessen, daß eine Abwicklungssatz erzeugt werden muß.

Tommy

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

Klaus Lörincz
Mitglied
Consultant


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

Beiträge: 533
Registriert: 06.08.2003

OSD M = aktuell
OSD D = aktuell
OS M = aktuell
auf WIN und HP-UX

erstellt am: 07. Aug. 2003 14:06    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 ls 10 Unities + Antwort hilfreich

Hallo IS,

Dein Problem ist eigentlich kein "Grosses".

Die Lösung, wie übrigens Alle (großes Lob) bemerkt haben, ist in zwei Schritten zu lösen.

1) Ein Makro in SD wird benötigt:
  Sollte eine View aus Annotation selektieren lassen und deren ID an ein Macro in ME10 code weitergeben.
2) Ein Makro in ME10 code
  Sollte mit eine View_id aus Anno versorgt werden.
  Sollte das Teil kopieren - Maßstab auf 1:1 bringen
  Alle element via Infostrings "..SELECT INFOS "*sdss* .." löschen
  Diese Teil als DXF abspeichern
  unötiges Teil wieder Löschen
  Und nicht vergessen das Teil mit "view_id" wieder aktiv zu setzen.


Wie weit bist Du mit deinem Makro schon gekommen ??


------------------
Klaus Lörincz
0174 3439 428
Sindelfingen
Germany

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

Klaus Lörincz
Mitglied
Consultant


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

Beiträge: 533
Registriert: 06.08.2003

OSD M = aktuell
OSD D = aktuell
OS M = aktuell
auf WIN und HP-UX

erstellt am: 18. Aug. 2003 18:35    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 ls 10 Unities + Antwort hilfreich

Hallo zusammen,

es gibt nun eine Antwort mit Makro unter dem Thread:

Blechzuschnitt als DXF.

Grüßle

------------------
Klaus Lörincz
0174 3439 428
Sindelfingen
Germany

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