| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Innovationstag mit SolidCAM und Plogmann bei HEDELIUS in Meppen, Veranstaltung am 21.11.2024 |
Autor
|
Thema: Export von allen Konfigurationen (13213 mal gelesen)
|
maximal Mitglied Konstrukteur
Beiträge: 508 Registriert: 08.01.2003 SolidWorks 2018 SP5 Keytech 13 WIN 10 Composer, Simulation, Tacton & Lino
|
erstellt am: 27. Jun. 2003 11:53 <-- editieren / zitieren --> Unities abgeben:
Hallo, kann man eigentlich alle Konfigurationen als einzelne Dateien exportieren (z.B. Parasolid) ? Also in einem Rusch jede Konfiguration unter Ihrem Namen in ein Verzeichnis exportieren! TX, Max Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gismo Mitglied SWX Support
Beiträge: 1047 Registriert: 05.03.2001
|
erstellt am: 27. Jun. 2003 12:06 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Hi MAx, das Funktioniert meines Wissens nicht. Jedenfalls nicht automatisch. Da wäre es das Beste, ein kleines Makro zu schreiben, welches die Einzelnen Konfigs durchläuft. Dann mit "ModelDoc2.SaveAs4 ( Name, Version, Options, &Errors, &Warnings )" jede Konfig. als Parasolid speichern. Ich hab im Moment keine Zeit, aber vielleicht komm ich Nächste Woche mal dazu, das zu Testen ------------------ Viele Grüße aus dem Schwarzwald gismo Meine bescheidene Website Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gismo Mitglied SWX Support
Beiträge: 1047 Registriert: 05.03.2001 HP Z Book17 G5; 32GB Ram; Quadro P4200 WIN10 Pro; Alle SWX ;)
|
erstellt am: 02. Jul. 2003 13:17 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
|
u.clemens Mitglied Konstrukteur
Beiträge: 964 Registriert: 04.07.2000 engineer's law o cheap o fast o good check only two !
|
erstellt am: 02. Jul. 2003 17:11 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
|
maximal Mitglied Konstrukteur
Beiträge: 508 Registriert: 08.01.2003 SolidWorks 2018 SP5 Keytech 13 WIN 10 Composer, Simulation, Tacton & Lino
|
erstellt am: 03. Jul. 2003 15:43 <-- editieren / zitieren --> Unities abgeben:
Hallo Gismo, danke für Dein Macro. Ist genau das was ich wollte :-). Du bist SPITZE !! Danke auch an u.clemens, war zwar nicht genau das was ich wollte, aber vieleicht brauche ich es noch einmal? Tja und nun noch eine Frage. Gibt's evtl ein Tool/Macro das mehrere Dateien (z.B. parasolid oder step) einliest und im gleichen Verzeichnis als SWX Model abspeichert? Bisher öffne ich alle Dateien im Explorer und speichere jede einzelne ab. Da es nicht nicht oft vorkommt ist eigentlich kein Problem, aber wenn es etwas fertiges gibt.....
TX, Max
P.S.: Über Deine Meldung "Alles glatt gegangen" muß ich immer wieder schmunzeln... Ist doch was anderes als die üblichen WIN-Meldungen...
[Diese Nachricht wurde von maximal am 03. Juli 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gismo Mitglied SWX Support
Beiträge: 1047 Registriert: 05.03.2001
|
erstellt am: 18. Aug. 2004 11:02 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
|
maximal Mitglied Konstrukteur
Beiträge: 508 Registriert: 08.01.2003 SolidWorks 2018 SP5 Keytech 13 WIN 10 Composer, Simulation, Tacton & Lino
|
erstellt am: 23. Aug. 2004 08:04 <-- editieren / zitieren --> Unities abgeben:
Hi gismo, danke für die super Erweiterung! Dein Makro nütze ich fast täglich und freue mich immer wieder darüber! Jetzt noch als Format JPG und es ist absolut perfekt...... Grüße aus dem Chiemgau in den schönen Schwarzwald, Max Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gismo Mitglied SWX Support
Beiträge: 1047 Registriert: 05.03.2001
|
erstellt am: 23. Aug. 2004 11:37 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
|
maximal Mitglied Konstrukteur
Beiträge: 508 Registriert: 08.01.2003 SolidWorks 2018 SP5 Keytech 13 WIN 10 Composer, Simulation, Tacton & Lino
|
erstellt am: 23. Aug. 2004 12:10 <-- editieren / zitieren --> Unities abgeben:
|
anfänger-paul Mitglied Elektro-Techniker
Beiträge: 158 Registriert: 27.11.2003 Intel(R) Xeon(R) CPU E5-1620 0 @ 3.60GHz NVIDIA Quadro 4000 16 GByte RAM ATA SSDSA2BW16 SCSI Disk Device Windows 7 Enterprise SW 2013 x64 SP3.0 keytech 13 ERP Microsoft Navision NAV 2009 R2
|
erstellt am: 24. Aug. 2004 14:09 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Hallo zusammen, tolle Sache und danke, Gismo. Nun mein Anliegen: wir führten SW bei uns ein und wollen demnächst den Realbetrieb aufnehmen. Unsere Teile (wenige Einzelteile, aber bis zu 200 Konfigurationen - nur unterschiedliche Abmessungen) wollen wir als Einzelteile mit Konfigurationen über eine Tabelle erstellen. Dabei sehen wir aber als Problem, dass wir zukünftig mit jedem Teil die 200 Konfigurationen "mitschleppen". Hierzu habe ich jetzt den Gedanken, die Teile wie beschrieben mit Hilfe der Tabelle zu erstellen und anschließend mit obigem Makro als SW-Teile zu speichern. Ist das mit dem Makro möglich, bzw. kann es für's Speichern von SW-Teilen modifiziert werden? Wäre super, wenn das klappen würde, ansonsten trotzdem herzlichen Dank, Paul
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WLT Mitglied
Beiträge: 227 Registriert: 13.07.2000
|
erstellt am: 24. Aug. 2004 16:07 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Hallo Paul, das oben von u. clemens erwähnte Macro "SplitConfigs" bei dynabits sollt eigentlich genau das machen was du willst. Als ich es vor einiger Zeit für meine Zwecke abgewandelt habe, musste ich allerdings eine kleine Macke feststellen: Nach dem Löschen der nicht benötigten Konfigurationen wurde in der damaligen Version kein save sondern nur ein close gemacht. Das lässt sich aber leicht korrigieren. Ich habe gleich ein save-as eingefügt, damit die ungültigen Informationen auch aus der Datei verschwinden. Übrigens, Teile mit vielen Konfigurationen sind garnicht so groß und problematisch wie man zunächst vermutet. Man muss nur verhindern, dass SWX alle Körperoberflächen speichert, die zu den verschiedenen Konfigurationen gehören. Wenn man beispielsweise beim Abschlusstest alle Konfigurationen aufruft und anschließend speichert, dann bekommt man wirklich ein Monsterteil. Ich mach dann eine kleine Änderung am Modell, mache diese wieder rückgängig (nicht mit undo!) und speichere dann mit einem neuen Namen. Für SWX sind dann die gespeicherten Oberflächen der inaktiven Konfigurationen alle ungültig, so dass sie nicht mehr in die neue Datei geschrieben werden. Den gleichen Effekt kann man auch erzielen, indem man die Tabelle öffnet und wieder schließt. MfG WLT [Diese Nachricht wurde von WLT am 24. Aug. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 25. Aug. 2004 09:03 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Hallo zusammen, und wenn das Makro von Philippe hilfreich war solltet ihr unbedingt auch einen von euch bestimmten Obulus an ihn schicken; ich weiß aus eigener Erfahrung, dass das nur allzu gerne vergessen wird und er deswegen mittlerweile eine ganze Menge Projekte eingestellt hat. Also gebt euch einen Ruck und schickt ihm mal 50 oder 100 Euros, wenn ihr damit stundenlange Arbeit spart ... Und ich bin mir sicher, auch gismo und die vielen Anderen, die hier Makros zur Verfügung stellen, freuen sich über einen Gutschein für Amazon, eine Postkarte oder vielleicht sogar nur ein paar Werbegeschenken von eurer Firma Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de KLAMM? Was ist KLAMM? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Kerker Mitglied Berater
Beiträge: 1 Registriert: 06.03.2007
|
erstellt am: 06. Mrz. 2007 17:47 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Hallo zusammen, ich habe heute exakt das gleiche Problem, das hier schon einmal behandelt wurde. Das Makro von Gismo läuft prima, jedoch fehlt die Exportmöglichkeit als *.sldprt. Das Resultat sollte je eine sldprt-Datei ohne weitere Konfigurationen sein. Das erwähnte Makro "SplitConfigs" habe ich auf der Seite "http://www.eng-tips.com/viewthread.cfm?qid=147091" aufgetrieben - die Seite dynabits gibt es nicht mehr. Das Makro macht aber nicht das, was es soll. Es sind immer noch alle Konfigurationen enthalten. Hat jemand eine taugliche Lösung? Oder Gismo bist Du noch aktiv und kannst Dein Makro erweitern? Das wäre die optimale Lösung. Viele Grüße aus H Achim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GrafZahl81 Mitglied Konstrukteur
Beiträge: 50 Registriert: 12.09.2011
|
erstellt am: 16. Sep. 2011 10:55 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
|
GrafZahl81 Mitglied Konstrukteur
Beiträge: 50 Registriert: 12.09.2011
|
erstellt am: 16. Sep. 2011 10:58 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
|
ElBarto200 Mitglied Technischer Zeichner
Beiträge: 1 Registriert: 05.06.2012 Apple IMac OS X v10.6.8 MS Windows 7 Professional 64bit SP1<P>SWX 2011 64x SP5.0
|
erstellt am: 05. Mrz. 2013 13:45 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Hi, ein super macro nun sitze ich aber seit einer weile daran um die eprt noch zu verknüpfen bekomm das iwie nicht hin. Habt ihr Lust oder zeit das zu vervollständigen?? Grüßße Piero ------------------ Wer nicht frägt, bleibt dumm Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Pito Mitglied
Beiträge: 6 Registriert: 19.03.2014 SolidWorks Professionell 2015 x64-Edition SP 2.1 Lenovo S20 ThinkStation Windows 7 Professional SP 1.0 Intel Xeon W3530 @ 2.80GHz 8GB RAM
|
erstellt am: 20. Mrz. 2014 10:45 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Hallo, ich möchte mich kurz vorstellen. Zurzeit arbeite ich in der Produktentwicklung. Bin 24 Jahre alt und befasse mich mit der Erstellung eines Makro. Letztes Jahr bin ich im Rahmen eines Projektes auf das ExportAs Makro von gismo gestoßen. Zusammen mit einem Kollegen haben wir dieses Makro auf unsere Bedürfnisse hin versucht zu ändern. Dies hat mehr oder weniger gut funktioniert, da wir leider keine Erfahrung im VBA Programmieren besitzen. Nun zu meiner Frage @gismo bist du noch Aktiv und hast du Interesse uns zu helfen ? Ich würde mich sehr über eine Antwort freuen. Mit freundlichen Grüßen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2782 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 20. Mrz. 2014 11:02 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Hallo Pito, Willkommen im WBF auf dem SolidWorks Brett. Wenn du dein Problem schilderst und uns deine Randinformationen (SW Version etc.) mitteilst, kann dir bestimmt auch jemand anderes helfen, hier im Forum ist viel Kompetenz was das Thema SolidWorks API angeht vertretten. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Pito Mitglied
Beiträge: 6 Registriert: 19.03.2014 SolidWorks Professionell 2015 x64-Edition SP 2.1 Lenovo S20 ThinkStation Windows 7 Professional SP 1.0 Intel Xeon W3530 @ 2.80GHz 8GB RAM
|
erstellt am: 20. Mrz. 2014 16:46 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Also es ist nicht nur ein Problem. Endziel: Das Makro soll entweder ein Bild von einer oder aller Konfigurationen, in einer, zwei oder aller Ansichten rendern und als PNG Datei ohne Hintergrund (Freigestellt), im Bauteilpfad mit jeweiligem Namenszusatz der Konfiguration ausgeben. Oder / Und ein Bild von einer oder aller Konfigurationen, in einer, zwei oder aller Ansichten als JPG Datei oder / und weitere Formate im Bauteilpfad mit jeweiligem Namenszusatz der Konfiguration ausgeben. Problembeschreibung : Nr1.: Die Darstellung der geforderten Ansichten. Mit Part.ShowNamedView2 "*Vorderseite", 1 Set myModelView = Part.ActiveView ' Katalog Position erreicht myModelView.RotateAboutCenter 0.261799387799149, 0.523598775598299 'Rotiert 15° um X-Achse Rotiert 30° um Y-Achse Erreiche ich schon mal zwei der geforderten Ansichten. Für die dritte Ansicht gelten bestimmt Angaben: Sie muss Kartesisch X -325 Y -25 Z 500 Mit Zielpunktausrichtung X 0 Y 0 Z 0 Und einer Perspektive von 0.8 sein. Über das API Exampel Insert Camera bekomm ich schon mal ein Kamera geladen. Nur weiß ich nicht wie ich die Eigenschaften setzen kann. Man kann das Ganze auch ohne die Kamera über den oben genannten Befehl erreichen. Allerdings ist mir aufgefallen, dass wenn ich das Modell um sagen wir mal 30° nach rechts drehe und das dann über das Bogenmaß (0,52359878) im Makro abbilde dann haut das nicht ganz hin. Deswegen würde ich gerne über eine Kameraansicht gehen. Über Ideen bin ich sehr dankbar. Anbei habe ich mit Paint eine Nutzeroberfläche, im Bezug auf das Endziel, nach meiner Vorstellung erstellt. Meine System-Info müsste unter meine Namen zu sehen sein. [Diese Nachricht wurde von Pito am 27. Mrz. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 21. Mrz. 2014 10:26 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Hallo Pito, ich würde mal sagen, da hast du dir eine recht anspruchsvolle Aufgabe zur Brust genommen; die einzelnen Teilaufgaben sind schön klar definiert, vielleicht sogar etwas zu spezifisch, falls davon nicht abgewichen werden darf Ich gehe mal davon aus, dass dir klar ist, wie du den Dateinamen zusammensetzt und wie du an den Konfigurationsnamen kommst. Zitat: Original erstellt von Pito: Das Makro soll entweder ein Bild von einer oder aller Konfigurationen, in einer, zwei oder aller Ansichten rendern und als PNG Datei ohne Hintergrund (Freigestellt), im Bauteilpfad mit jeweiligem Namenszusatz der Konfiguration ausgeben.
Das sollte mit RayTraceRenderer::RenderToFile gehen, dazu gibt es ein Beispiel in der API Hilfe namens "Render Model (VBA)". Ob und wie da bei den Renderoptionen der Alphakanal mit eingestellt werden muss oder ob der automatisch mit bei PNG gespeichert wird weiß ich nicht. Zitat: Original erstellt von Pito: Oder / Und ein Bild von einer oder aller Konfigurationen, in einer, zwei oder aller Ansichten als JPG Datei oder / und weitere Formate im Bauteilpfad mit jeweiligem Namenszusatz der Konfiguration ausgeben.
Das sollte mit einem einfach ModelDoc2::SaveAs4 mit Dateiendung .jpg funktionieren. Bitte daran denken, dass du dafür die Exportoptionen für TIFF/PSD/JPG so einstellen musst, wie du dein Ergebnis haben möchtest. Zitat: Original erstellt von Pito: Problembeschreibung : Nr1.: Die Darstellung der geforderten Ansichten. [...] Über das API Exampel Insert Camera bekomm ich schon mal ein Kamera geladen. Nur weiß ich nicht wie ich die Eigenschaften setzen kann.
Schau dir mal das ICamera Interface an, das sieht so aus, als wären alle Eigenschaften und Methoden vorhanden, um das per API so einstellen zu können wie man das auch interaktiv tun würde, z.B. Camera::TargetPointPosition, Camera::RotationRollAngle, Camera::AspectRatio oder Camera::FieldOfViewAngle. Ich befürchte, du kommst um ein wenig Rechnerei nicht drumherum, aber so kompliziert wie in meinem uralten Setze Kamera Position Makro aus den Zeiten, wo es noch keine Kamera in SolidWorks gab, wird es hoffentlich nicht Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2577 Registriert: 02.10.2006 Firma: SW 2023-5.0 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2023-5.0 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 22. Mrz. 2014 11:31 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
|
Pito Mitglied
Beiträge: 6 Registriert: 19.03.2014 SolidWorks Professionell 2015 x64-Edition SP 2.1 Lenovo S20 ThinkStation Windows 7 Professional SP 1.0 Intel Xeon W3530 @ 2.80GHz 8GB RAM
|
erstellt am: 27. Mrz. 2014 14:11 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Hallo Zusammen, danke für eure Ideen und schnellen Antworten. Einige Funktionen wie das Rendern und Abspeichern laufen ja schon halbwegs, dank der guten Basis von Gismo. Daher möchte ich mich zunächst auf die Erstellung der zuvor beschriebenen Ansicht Kartesisch X -325 Y -25 Z 500 Mit Zielpunktausrichtung X 0 Y 0 Z 0 Und einer Perspektive von 0.8 kümmern. Das „uralte“ Setze Kamera Position Makro ist auch bei mir schon zum Einsatz gekommen. Das ist ein sehr gutes Tool, wobei die Holen Funktion nicht mehr läuft. Eine kurze Zwischenfrage zu Camera und ICamera. Die Camera ist die, die man sich unter dem Display Manager Hinzufügen kann. Die ICamera ist die Ansicht über meinen Bildschirm. Kann man das so sagen? Im Forum.solidworks bin ich auf folgenden Link gestoßen https://forum.solidworks.com/message/98768 Wo viele befehle auftauchen die mir von Nutzen seien könnten. Allerdings weiß ich nicht wie ich die Befehle auf eine ICamera oder eine bestimmte Camera anwenden soll. Hier einige Befehle: Camera info: 'Camera1' (0) +Type = swCameraType_Floating +AspectRatio = 1.29412 +Perspective = 1 +FieldOfViewAngle = 0.47109 +FieldOfViewDepth = 0.202107 +FieldOfViewHeight = 0.0970112 GetFocalDistance = 0.276344 GetPointOfInterestDistance = 0.326413 GetPosition = -0.0692115 0.0174997 -0.326413 GetPositionCartesian = -0.0692115 0.0174997 -0.326413 GetPositionSpherical = 0.276344 -3.14159 -0 GetUpVector = 0 1 0 GetViewVector = 0 0 1 +PositionType = swCameraPosition_Spherical +RotationRollAngle = 0 +TargetPointPosition = -0.0692115 0.0174997 -0.0500687 @Stefan du nennst als ein Beispiel für einen Befehl „Camera::RotationRollAngle“. Das heißt also ich muss immer erst „Camera::“ vor den Befehl setzten um mich auf eine Camera zu beziehen? Und wenn ich mich auf die ICamera beziehen möchte müsste es dann so heißen: „ICamera::RotationRollAngle = 0“ ? Unter anderem habe ich auch das ICamera Interface angeguckt. Wo allerdings nur etwas von, Visual Basic (Declaration) ->Public Interface ICamera und Visual Basic (Usage) -> Dim instance As ICamera steht. Darunter bin ich dann auf das „Insert and Rotate Camera Example (VBA)” gestoßen. In diesem Exampel konnte ich die Einstellungen z.B.: „swCamera.Pitch=-25“ nicht nachvollziehen. Also die Eigestellten Werte müssten doch in den Kameraeinstellungen wieder zu finden sein? Ein weiteres Makro Insert Camera Example (VBA) habe ich auch schon gefunden allerdings Funktioniert der letzte Teil „Print out camera settings“ nicht. Es müsste doch eine Rückmeldung mit Werten aufpoppen? Grüße [Diese Nachricht wurde von Pito am 27. Mrz. 2014 editiert.]
[Diese Nachricht wurde von Pito am 27. Mrz. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 27. Mrz. 2014 15:33 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Hallo Pito, Zitat: Original erstellt von Pito: Eine kurze Zwischenfrage zu Camera und ICamera. Die Camera ist die, die man sich unter dem Display Manager Hinzufügen kann. Die ICamera ist die Ansicht über meinen Bildschirm. Kann man das so sagen?
Nein. ICamera ist das API Interface (deswegen das I am Anfang), das SolidWorks zur Verfügung stellt. Ein konkretes Objekt nennt man dann einfach nur Camera. Theoretisch kannst du es auch Paul oder Gfdrrr32kiuz nennen, aber das ist dann für das Lesen und spätere Wiederverstehen deutlich schwieriger ;) Beides hat nur mit der Programmierung zu tun - wenn du es dir einfacher machen willst, streichst du in Gedanken immer vorne das I weg, letztlich hast du es als Makroprogrammierer praktisch immer mit den "echten" Objekten zu tun und nie mit den Interfaces. Zitat: Original erstellt von Pito: Wo viele befehle auftauchen die mir von Nutzen seien könnten. Allerdings weiß ich nicht wie ich die Befehle auf eine ICamera oder eine bestimmte Camera anwenden soll.
Diese "Liste" enthalten keine Befehle, sondern Methoden und Eigenschaften des Objektes. Mag sich anhören wie Korinthenkackerei, aber wenn du den Unterschied noch nicht verstanden hast wird das mit dem objektorientierten, ereignisgesteuerten Programmieren wie für SolidWorks notwendig schwierig. In der API Hilfe findest du die Liste der Methoden und Eigenschaften eines Objektes immer auf der Übersichtsseite dieses Objektes, meist ist auch unten bei vielen der APi Seiten zu diesen Methoden/Eigenschaften ein Link auf die "Members" Zitat: Original erstellt von Pito: @Stefan du nennst als ein Beispiel für einen Befehl „Camera::RotationRollAngle“. Das heißt also ich muss immer erst „Camera::“ vor den Befehl setzten um mich auf eine Camera zu beziehen? Und wenn ich mich auf die ICamera beziehen möchte müsste es dann so heißen: „ICamera::RotationRollAngle = 0“
Nein. Du musst dir das Camera-Objekt von SolidWorks holen, dazu gibt es diverse sogenannte Accessoren, d.h. wieder Methoden/Eigenschaften anderer Objekte, durch deren Hilfe du das Camera-Objekt bekommst. Diese Accessors sind in der API Hilfe relativ weit unten immer in ihrem eigenen Abschnitt aufgelistet. Die Schreibweise in deinem Code hängt dann von deiner Sprache ab. Der Doppelpunkt wird in C/C# benutzt, in VB/VBA/VB.NET wird ein Punkt benutzt. In der API Hilfe steht nur auch im Abschnitt VBA-Syntax die Schreibweise mit Doppelpunkt, und da ich das oft rauskopieren ... ;) Zitat: Original erstellt von Pito: Unter anderem habe ich auch das ICamera Interface angeguckt. Wo allerdings nur etwas von, Visual Basic (Declaration) ->Public Interface ICamera und Visual Basic (Usage) -> Dim instance As ICamera steht.
Genau da bei der APi Hilfeseite zur Camera bist du richtig. Diese Deklaration benutzt du, um erst mal so eine leere Objekthülle vorzubereiten und die dann später mit dem "echten" Objekt zu füllen. Einfacher ist die Handhabung in der Regel in den Beispielen zu sehen. Zitat: Original erstellt von Pito: Darunter bin ich dann auf das „Insert and Rotate Camera Example (VBA)” gestoßen. In diesem Exampel konnte ich die Einstellungen z.B.: „swCamera.Pitch=-25“ nicht nachvollziehen. Also die Eigestellten Werte müssten doch in den Kameraeinstellungen wieder zu finden sein?
Sind sie doch, ich kann sowohl den Pitch als auch den Yaw Wert in diesem Beispiel so einstellen, wie ich das möchte, und sehe die anschließend auch in den Eigenschaften der Kamera im interaktiven SolidWorks. Allerdings musst du natürlich daran denken, das du in der SolidWorks API in SI Einheiten arbeitest, d.h. alle Längenangaben sind in Meter und alle Winkelangaben in Radiant. Die Werte im Beispiel machen da wenig Sinn, aber funktionieren schon. Vielleicht hast du dich gefragt woher dieser komische Faktor 57.3 bei der Ausgabe kommt, dass ist genau die Umrechnung von RAD auf Grad 1 rad -> 180°/PI = 57.29577° Wenn du also z.B. einen Pitch von 60° haben willst musst du (60 * PI / 180)
Code: swCamera.Pitch = 1.047197
eingeben. Dann siehst du im Feld Pitch der Kamera (also Drehung um die Y-Achse) einen Wert von 60° Ciao, Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
danielz Mitglied Ing
Beiträge: 7 Registriert: 03.09.2012
|
erstellt am: 01. Apr. 2014 14:43 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
|
mondstaub Mitglied Maschbauing
Beiträge: 3 Registriert: 06.07.2001
|
erstellt am: 17. Apr. 2015 11:20 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Auch von mir ein herzliches Dankeschön für dieses tolle Makro. Wäre es noch möglich das Utility zu erweitern, mit der Möglichkeit die Konfigurationen als Solidworksdatei abzuspeichern. Das wäre super!!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 17. Apr. 2015 11:44 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
|
mondstaub Mitglied Maschbauing
Beiträge: 3 Registriert: 06.07.2001
|
erstellt am: 17. Apr. 2015 13:01 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Hallo, danke für den Hinweis. Bei diesem Makro fehlt mir die elegante Möglichkeit nur einzelne Konfigurationen zu exportieren. Ich finde das ist in dem Makro ExportAs super gelöst. Ich habe auch schon bei unserem Support angerufen und nach einer Lösung gefragt. Die knappe Antwort war: Nein, dies ist in Solidworks nicht implementiert und dazu gibt es keine automatische Lösung. Ist es ein großer Aufwand das Makro ExportAs zu erweitern oder ist es gar nicht möglich?
Schöne Grüsse Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 20. Apr. 2015 08:47 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Hallo mondstaub, Zitat: Original erstellt von mondstaub: Bei diesem Makro fehlt mir die elegante Möglichkeit nur einzelne Konfigurationen zu exportieren. [...] Ist es ein großer Aufwand das Makro ExportAs zu erweitern oder ist es gar nicht möglich?
Das ist ohne Schwierigkeiten möglich, wie groß der Aufwand ist hängt davon ab, wie gut du SolidWorks VBA Makros lesen und ändern kannst. Im besagten Makro solltest du nach dem Auslesen der ganzen Konfigurationsnamen im ersten "Durchlauf" eine Dialogbox mit einer Liste der Konfignamen bringen, am Besten mit Häckchen, das kannst du mit einer Listbox machen, deren ListStyle du auf frmListStyleOption setzt. Dann in der zweiten Schleife nicht mehr alle Konfigs abarbeiten, sondern nur noch die mit den vorher ausgewählten Namen. Aufwand ca. 30-40 Minuten bis mehrere Stunden Ciao, Stefan PS: kennst du meine Hinweise zu solchen Fragen wie hier als Vorschlag oder hier als Lamento Erklärung? ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Merlin2001 Mitglied Sr. Software Engineer
Beiträge: 24 Registriert: 13.05.2011
|
erstellt am: 20. Jun. 2016 14:05 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Hallo liebe CADler! Ich hatte ein wenig Zeit und habe Thomas' exzellentes Export-Makro mit den Anregungen aus diesem Thread ein bisschen erweitert. Neue Features:
- Man kann jetzt die zu exportierenden Konfigurationen auswählen
- Die zuletzt gewählten Einstellungen werden jetzt gespeichert
- 3D-PDF-Export steht zur Wahl (leider sehr, sehr langsam - bitte bei vielen Konfigurationen viel Zeit einplanen )
- Der Neuaufbau der Konfigurationen vor dem Export ist jetzt optional
- Eine Statusleiste zeigt jetzt den aktuellen Exportschritt an
Auf Code-Seite wurde außerdem die Erweiterung mit neuen Dateitypen etwas vereinfacht, da hierzu nur der entsprechende neue Dateityp in der Methode UserForm_Initialize ergänzt werden muss. Einzige Vorgabe: es muss irgendwo (*.ENDUNG) im Text stehen. (Es sei denn natürlich, der Dateityp hat Besonderheiten - wie bspw. STEP mit seinen verschiedenen Varianten - dann müsste ggfs. auch die Methode ExportSelectedConfigs entsprechend angepasst werden.) Noch Zukunftsmusik, aber geplant: Ich würde gerne noch ermöglichen, dass beim Export in einem der Bildformate (JPG, PNG, PDF) alle benannten Ansichten exportiert werden und nicht nur die aktuelle Ansicht. Bin gespannt auf eure Rückmeldungen! Viele Grüße Marcus @Stefan: Ich würde mich natürlich freuen, wenn das Makro in die Tauschbörse aufgenommen werden würde. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Daniel Ziller Mitglied Konstrukteur
Beiträge: 10 Registriert: 26.03.2018 HP Z2 WIN 10 X64 aktuell: - Solidworks 2023 SP3 - Imold V14
|
erstellt am: 26. Mrz. 2018 13:49 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Sehr gutes Macro, bei mir funktioniert allerdings der sat export nicht. Kann mir da jemand weiterhelfen. Arbeite unter Win10 mit SW2017SP5. Unter Win7 hatte ich die Vorgängerversion dieses Macros, diese funkt. unter Win10 nicht mehr. Gruß Daniel
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 28. Mrz. 2018 08:32 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Hallo Daniel, Zitat: Original erstellt von Daniel Ziller: [...] bei mir funktioniert allerdings der sat export nicht.
Ich denke du meinst das Makro ExpoprtConfigAs_2.0.zip von Merlin2001 oben im Beitrag vom 20. Jun. 2016 14:05. Da geht es mir jetzt beim Testen auch so. Ich bekomme eine Fehlermeldung, und wenn du ganz genau hinschaust auch einen Hinweis darauf, warum das wohl schief geht (siehe Screenshot 03590_fehlermeldung-export-sat.png ). Wenn du dir dann den Code durchliest findet man, dass die Dateiendung aus dem String herausgeholt wird, der oben rechts in der Box angezeigt wird, eigentlich recht elegant, weil man nur eine Stelle hat, wo man das schreiben muss. Leider gibt es da einen Tippfehler und die Dateiendung wird mit satl angegeben statt mit sat. Also flugs diesen Tippfehler in der Initialize korrigieren und schon läuft das Makro auch mit SAT-Export (nachdem man ggf. die Verweise auf die genutzte SolidWorks-Version korrigiert hat, versteht sich ). Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Daniel Ziller Mitglied Konstrukteur
Beiträge: 10 Registriert: 26.03.2018 HP Z2 WIN 10 X64 aktuell: - Solidworks 2023 SP3 - Imold V14
|
erstellt am: 28. Mrz. 2018 13:10 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
|
swx-cad-nutzer Mitglied Konstr
Beiträge: 411 Registriert: 15.06.2011 SWX 2023 SP 4.0 64 bit
|
erstellt am: 11. Apr. 2018 08:18 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
Servus! Danke für dieses geniale Makro! Wie lässt es sich für "VBA-DAU-Laie" umbauen, um auch edrawings zu intergrieren? mir gelingt es noch nicht mal nicht, die Zeile für z.b. "stp oder pdf" zu finden... Danke! edit: -> DAU! Es ist mir gelungen! ich habe es gefunden! es Funktioniert! [Diese Nachricht wurde von swx-cad-nutzer am 11. Apr. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Krik Mitglied Maschinenbautechniker
Beiträge: 7 Registriert: 15.10.2018 Solid Works 2017
|
erstellt am: 02. Mai. 2019 16:32 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist! Hallo, ich möchte noch meinen aller größten Respekt aussprechen für so ein geiles Makro. Ich benutze sehr oft TopsWorks mit meinem SolidWorks kann man das makro für .geo Dateien auch noch erweitern bzw eine abwicklung ausgeben? Das wäre der absolute Wahnsinn Vielen Dank schon mal Mit freundlichen Grüßen Krik
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
WB8 Mitglied Application Engineer
Beiträge: 444 Registriert: 19.03.2004 SolidWorks Elite Applications Engineer
|
erstellt am: 10. Mrz. 2020 16:29 <-- editieren / zitieren --> Unities abgeben: Nur für maximal
ich habe das Makro um einen SMG Export angepasst! Damit ist es auch möglich für jede CAD-Konfiguration eine SMG zu erstellen --> damit man im Composer keine Schwierigkeiten beim Aktualisieren mit der gleichen GUID hat (was ohne Fehler und umständliche WA unmöglich wäre).
------------------ ->dream believe dare do!<- Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |