| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SolidEdge |
Autor
|
Thema: Unit of Measurement ändern (2372 mal gelesen)
|
bschla Mitglied
Beiträge: 31 Registriert: 30.07.2015 Windows 8, Solid Edge ST7, Visual studio 2015, c++
|
erstellt am: 04. Sep. 2015 12:48 <-- editieren / zitieren --> Unities abgeben:
|
Markus Gras Moderator Solid Edge AE
Beiträge: 4602 Registriert: 20.07.2000 Kritik muß sachlich falsch und persönlich verletzend sein, damit sie wirkt.
|
erstellt am: 04. Sep. 2015 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für bschla
|
bschla Mitglied
Beiträge: 31 Registriert: 30.07.2015 Windows 8, Solid Edge ST7, Visual studio 2015, c++
|
erstellt am: 04. Sep. 2015 14:00 <-- editieren / zitieren --> Unities abgeben:
|
Markus Gras Moderator Solid Edge AE
Beiträge: 4602 Registriert: 20.07.2000 Kritik muß sachlich falsch und persönlich verletzend sein, damit sie wirkt.
|
erstellt am: 04. Sep. 2015 14:05 <-- editieren / zitieren --> Unities abgeben: Nur für bschla
|
bschla Mitglied
Beiträge: 31 Registriert: 30.07.2015 Windows 8, Solid Edge ST7, Visual studio 2015, c++
|
erstellt am: 04. Sep. 2015 14:40 <-- editieren / zitieren --> Unities abgeben:
aso, ja das meinst du. Das stimmt. Ich würd halt gern die grundlegende Maßeinheit auf inch ändern, also vom gesamten Dokument. So ändere ich ja nur die Anzeige von einem einzelnen Element oder? Mein Problem ist dass ich das Modell mit SaveCopyAs als STL lokal speicher, die Maßeinheiten aber dann völlig falsch sind wenn ich das stl wieder öffne.. also in SE war mein objekt 50 mm breit und exportiere + öffne ich das stl dokument dann in blender ist das modell 2m lang.. :/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Markus Gras Moderator Solid Edge AE
Beiträge: 4602 Registriert: 20.07.2000 Kritik muß sachlich falsch und persönlich verletzend sein, damit sie wirkt.
|
erstellt am: 04. Sep. 2015 16:11 <-- editieren / zitieren --> Unities abgeben: Nur für bschla
Nein Item(1) ist wohl die Einheit für die Länge, die anderen Items unter UnitsOfMeasure sind dann für Flächen, Masse, Volumen usw. Die Länge gilt dann für die gesamte Datei, es sind aber immer nur die dargestellten Einheiten. Parasolid rechnet intern immer mit SI Einheiten, also Länge in Meter, in den UnitsOfMeasure konfigurierst Du dann in welche Einehiten umgerechnet wird. ------------------ Gruß Markus Gras Unitec Informationssysteme GmbH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bschla Mitglied
Beiträge: 31 Registriert: 30.07.2015 Windows 8, Solid Edge ST7, Visual studio 2015, c++
|
erstellt am: 04. Sep. 2015 16:15 <-- editieren / zitieren --> Unities abgeben:
okay gut danke. Leider hat die Lösung nicht ganz funktioniert.. Weißt du (oder jemand anders) ob es möglich ist VOR dem exportieren zu einem STL file mit saveAs einzustellen dass in mm nicht in inches exportiert werden soll? Über die GUI ist dies leicht möglich. per Default ist inches eingestellt, würde gern in mm exportieren.. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wksyspro Mitglied Dipl.-Ing.
Beiträge: 200 Registriert: 19.11.2004
|
erstellt am: 06. Sep. 2015 15:31 <-- editieren / zitieren --> Unities abgeben: Nur für bschla
Hallo bschla, die Vorgaben für den Export nach STL nimmt Solid Edge aus der Datei sestl.ini, die sich im Unterverzeichnis Program des Solid Edge Installationsverzeichnisses befindet. Hierin findest Du u.a. auch die Vorgabe für die zu verwendende Längeneinheit. Wird diese Datei mit entsprechenden Rechten versehen, könnte sie auch programmatisch z.B. temporär geändert werden. ------------------ Viele Grüße,
Wolfgang Kunert www.wksyspro.de [Diese Nachricht wurde von wksyspro am 07. Sep. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wolha Moderator CAD - Consultant
Beiträge: 5563 Registriert: 30.01.2002 Win 10 Pro Solid Edge 2023 CAMWorks Primus PDM FEMAP Dynamic Designer Teamcenter
|
erstellt am: 06. Sep. 2015 19:40 <-- editieren / zitieren --> Unities abgeben: Nur für bschla
|
wksyspro Mitglied Dipl.-Ing.
Beiträge: 200 Registriert: 19.11.2004
|
erstellt am: 07. Sep. 2015 02:34 <-- editieren / zitieren --> Unities abgeben: Nur für bschla
Es funktioniert ja auch. Nur die Überschreibung des Defaults ist wegen der nicht benutzerabhängigen zentralen Konfigurationsdatei und deren Rechte bei der STL Konvertierung durch den Solid Edge Anwender nicht möglich. ------------------ Viele Grüße, Wolfgang Kunert www.wksyspro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wolha Moderator CAD - Consultant
Beiträge: 5563 Registriert: 30.01.2002 Win 10 Pro Solid Edge 2023 CAMWorks Primus PDM FEMAP Dynamic Designer Teamcenter
|
erstellt am: 07. Sep. 2015 07:49 <-- editieren / zitieren --> Unities abgeben: Nur für bschla
Hallo Wolfgang, Du meinst, es hängt davon ab, welche Rechte der User im Programmordner hat? Und das es nicht schlecht wäre, wenn SE Benutzer volle Rechte im SE Programmverzeichnis haben.
Entweder auf Standardpfad im C: oder gleich ganz woanders installieren.
------------------ mfg Wolfgang Hackl CAD/CAM - Consult http://www.cadcam-consult.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wksyspro Mitglied Dipl.-Ing.
Beiträge: 200 Registriert: 19.11.2004
|
erstellt am: 07. Sep. 2015 10:40 <-- editieren / zitieren --> Unities abgeben: Nur für bschla
Hallo Wolfgang aus Österreich, die Vorgaben für den STL Import und Export befinden sich in der Datei Program\sestl.ini. Nur bei der DWG/DXF- und IGES-Konvertierung berücksichtigt Solid Edge eine benutzerspezifische Kopie der dafür entsprechenden Ini-Dateien. Solid Edge bestimmt den Ort der Konfigurationsdatei in diesen Fällen über einen Eintrag in der Benutzer-Registry. Im Fall der STL-Konvertierung bleibt also nichts anderes übrig, als für alle betroffenen Benutzergruppen oder jedem Änderungsrechte an der Datei Program\sestl.ini zu vergeben, sollen Einträge programmatisch vorgenommen werden. Es dürfte allerdings oft auch genügen, die Vorgaben in der Datei Program\sestl.ini einfach einmalig richtig vorzugeben. ------------------ Viele Grüße, Wolfgang Kunert www.wksyspro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wolha Moderator CAD - Consultant
Beiträge: 5563 Registriert: 30.01.2002 Win 10 Pro Solid Edge 2023 CAMWorks Primus PDM FEMAP Dynamic Designer Teamcenter
|
erstellt am: 07. Sep. 2015 17:13 <-- editieren / zitieren --> Unities abgeben: Nur für bschla
Hallo Wolfgang aus Germany, das weiß ich, was ich nur klar machen wollte war, dass, wenn Du interaktiv via Solid Edge die Optionen für den STL Export einmal manuell änderst, dann wird das in die SESTL.ini zurück geschrieben. D.h. Du musst gar nicht via Texteditor die Datei bearbeiten oder ändern, sondern nur einmal richtig definiere, was man auf diesem PC möchte.
Allerdings sind eben Adminrechte notwendig, wenn sich der Installationsordner auf c:\Programme befindet und die Benutzerkontensteuerung (ein Hauptübel) auf einer höheren Stufe befindet. Hoffe ich konnte mich jetzt etwas besser ausdrücken. Wie geht es denn so in "good old Germany?" PS.: und Info für alle anderen: wir kennen uns nun schon wohl an die 30 Jahre! Mann, waren das noch Zeiten!
------------------ mfg Wolfgang Hackl CAD/CAM - Consult http://www.cadcam-consult.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bschla Mitglied
Beiträge: 31 Registriert: 30.07.2015 Windows 8, Solid Edge ST7, Visual studio 2015, c++
|
erstellt am: 08. Sep. 2015 15:05 <-- editieren / zitieren --> Unities abgeben:
Danke für eure Antworten! Also meine Schritte mal beim herumtesten: 1. Speichere ein model via "save as" über die GUI als STL mit option "milimeter" ab --> SESTL.ini steht noch immer "inch", hat sich also nicht geändert.. 2. Betätige mein Plugin (SaveCopyAs(C:... .stl) wird aufgerufen mit den Optionen die in Schritt 1. einstellt wurden (also in "milimeter" 3. ini Datei anschauen: steht noch immer "inch" Danach folgende Schritte: 1. Speichere ein model via "save as" über die GUI als STL mit option "inch" ab --> SESTL.ini steht noch immer "inch", hat sich also nicht geändert.. 2. Betätige mein Plugin (SaveCopyAs(C:... .stl) wird aufgerufen mit den Optionen die in Schritt 1. einstellt wurden (also in "inch") 3. ini Datei anschauen: steht noch immer "inch" Wenn SE bei SaveCopyAs die Parameter NICHT aus der ini Datei entnimmt (wie man anhand des tests deutlich sieht) woher nimmt solid edge die maße dann? SE scheint immer die einstellungen für den Export zu verwenden der vorher manuell verwendet wurde bzw. händisch über die GUT eingestellt. Leider brauche ich die Info ob gerade "inch" oder "milimeter" eingestellt wird da der server, an den das post request gerichtet ist die maßeinheit benötigt, oder zumindest eine stabile Einheit (wie z.B über solid Edge einstellen dass eine STL datei IMMER in inch exportiert wird) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wksyspro Mitglied Dipl.-Ing.
Beiträge: 200 Registriert: 19.11.2004
|
erstellt am: 08. Sep. 2015 16:01 <-- editieren / zitieren --> Unities abgeben: Nur für bschla
Hallo bschla, im GUI-Dialog wird doch gar keine Option für die Exportlängeneinheit angeboten!? Hier kann lediglich die Einheit für die Toleranzangabe ausgewählt warden. Die Längeneinheiten für den Export/Import sind in der Datei sestl.ini fest vorgegeben. Also einfach von Hand die Datei sestl.ini mit Windows Administratorrechten einmalig editieren und gegebenenfalls danach verteilen. Es gelten beim programmatischen Export mittels SaveAs-Methode die in der Datei vorhandenen Eintragungen. Willst Du diese vor dem Exportieren ändern, musst du programmatisch die Datei manipulieren, was jedoch nur funktionieren kann, wenn die Rechte auf die Datei entsprechend gesetzt wurden, oder wenn du im Programm temporär Administratorrechte schalten kannst. ------------------ Viele Grüße,
Wolfgang Kunert www.wksyspro.de [Diese Nachricht wurde von wksyspro am 09. Sep. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bschla Mitglied
Beiträge: 31 Registriert: 30.07.2015 Windows 8, Solid Edge ST7, Visual studio 2015, c++
|
erstellt am: 09. Sep. 2015 17:43 <-- editieren / zitieren --> Unities abgeben:
|
Flarestar7 Mitglied Konstrukteur
Beiträge: 198 Registriert: 12.08.2013 Solid Edge 2022
|
erstellt am: 10. Sep. 2015 08:01 <-- editieren / zitieren --> Unities abgeben: Nur für bschla
hallo bschla, so sieht meine SESTL.txt aus, nach dem Export und Import mit "mm": [Options] Memory Needed Per Native Element = 100000 Memory Needed Per Foreign Element = 10000 ;Import Units Values can be Inch, Millimeter, or Meter Import Units=Millimeter Import Make Base Feature=On ;Export Units Values can be Inch or Millimeter Export Units=Millimeter ; The decimal delimiter for the tolerance and angle values MUST be a '.' Export Tolerance Value=0.01 Export Surface Plane Angle Value=0.785398163397448 ; The output file format can be either BINARY or ASCII Output File Format=BINARY Enable Logging=Off [Option Forms] Dll = STLOPT.DLL Import Entry Point = StlImptOptDialogOpen Export Entry Point = StlExptOptDialogOpen ################## ist zwar in der ST6 aber ich nehme an es hat sich hier nicht viel verändert. Wenn sich die Datei im Programmordner nicht editieren lässt kann du eventuell eine SESTL.txt auf zB dem Desktop machen und versuchen die Datei in den Programmordner zu ziehen. Falls das auch nicht geht sollte euer Administrator die Datei einspielen/ändern. Mfg Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bschla Mitglied
Beiträge: 31 Registriert: 30.07.2015 Windows 8, Solid Edge ST7, Visual studio 2015, c++
|
erstellt am: 10. Sep. 2015 12:07 <-- editieren / zitieren --> Unities abgeben:
Danke für deine Antwort! Grundlegend entnimmt Solid Edge für den STL Export die Werte aus SESTL.ini, wie schon mehrfach bestätigt wurde. Wenn ich aber "realtime" in der GUI-->saveas->STL->mm und dann mein script ausführe "savecopyas(C:\...stl)" dann nimmt diese funktion den zuletzt gesetzten wert (eben vorher über die GUI "mm"). Aber die SESTL.ini war die ganze Zeit inch. Hat jemand Ideen? Irgendwo sollte doch ein weiterer Wert gespeichert sein mhh Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wksyspro Mitglied Dipl.-Ing.
Beiträge: 200 Registriert: 19.11.2004
|
erstellt am: 11. Sep. 2015 15:16 <-- editieren / zitieren --> Unities abgeben: Nur für bschla
Hallo bschla, ich habe herausgefunden, dass Solid Edge bei Verwendung des Optionen-Dialogs und ungenügenden Rechten auf die sestl.ini-Datei im Solid Edge Program-Ordner eine personalisierte sestl.ini im Benutzerprofilverzeichnis ablegt. z.B. für den Benutzer mit Benutzernamen Wku: C:\Users\Wku\AppData\Roaming\Unigraphics Solutions\Solid Edge\Version 107\sestl.ini Dein Add-In müsste also lediglich vor der Speicherung als STL eine Kopie einer sestl.ini-Datei mit entsprechend angepassten Werten in den Profilordner des Anwenders kopieren (evtl. temporär unter Sicherung einer dort bereits vorhandenen, oder Ähnlichem). ------------------ Viele Grüße, Wolfgang Kunert www.wksyspro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bschla Mitglied
Beiträge: 31 Registriert: 30.07.2015 Windows 8, Solid Edge ST7, Visual studio 2015, c++
|
erstellt am: 11. Sep. 2015 18:06 <-- editieren / zitieren --> Unities abgeben:
|
bschla Mitglied
Beiträge: 31 Registriert: 30.07.2015 Windows 8, Solid Edge ST7, Visual studio 2015, c++
|
erstellt am: 15. Sep. 2015 12:47 <-- editieren / zitieren --> Unities abgeben:
Hat jemand eine Idee wie ich doch an das document property unitsofmeasurements rankomme? wenn ich activeDoc->GetUnitsOfMeasurements()->Item(1)->GetUnits(); probiere dann stürzt bei mir das Programm ab.. irgendwelche Ideen? Thanks! (also wie Markus Gras oben beschrieben) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wksyspro Mitglied Dipl.-Ing.
Beiträge: 200 Registriert: 19.11.2004
|
erstellt am: 15. Sep. 2015 13:22 <-- editieren / zitieren --> Unities abgeben: Nur für bschla
|
| CAD-Bauzeichner Projektierung (m/w/d) | Wir sind mehr als der Marktführer in der Autowäsche. In technologischer Hinsicht setzen wir Branchenstandards. Weltweit. Mit einem Höchstmaß an Kundenorientierung. Digital auf der Höhe der Zeit. Und wir werden immer besser. Für Sie heißt das: Willkommen zu immer neuen High-tech-Herausforderungen. Zu mehr Innovationskraft, Gestaltungsspielraum und Eigenverantwortung. Machen Sie den nächsten Karriereschritt bei WashTec oder AUWA.... | Anzeige ansehen | Technischer Zeichner, Bauzeichner |
|
bschla Mitglied
Beiträge: 31 Registriert: 30.07.2015 Windows 8, Solid Edge ST7, Visual studio 2015, c++
|
erstellt am: 15. Sep. 2015 15:18 <-- editieren / zitieren --> Unities abgeben:
UnitsOfMeasurePtr pUnit = pDoc->GetUnitsOfMeasure(); UnitOfMeasurePtr pItem = pUnit->Item(SolidEdgeConstants::UnitTypeConstants::igUnitDistance); int activeUnit = pItem->GetUnits(); funkt leider auch nicht.. er wirft bei der zweiten Zeile ein Com error.. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |