| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
 | myCADtools , eine App
|
Autor
|
Thema: API: Virtuelle Komponenten einfügen? (4213 mal gelesen)
|
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 25. Sep. 2008 11:28 <-- editieren / zitieren --> Unities abgeben:         
|
Baumjäger Mitglied CAD/PDM Administrator
 
 Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 26. Sep. 2008 12:32 <-- editieren / zitieren --> Unities abgeben:          Nur für G. Dawg
|
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 26. Sep. 2008 14:29 <-- editieren / zitieren --> Unities abgeben:         
Ja, SolidWorks erstellt die Datei (c:\temp\bla.sldprt) - alles Wunderbar - aber fügt diese nicht in die Zusammenstellung ein. Und schon gar nicht als virtuelle Komponente. Code: Dim swAssy As SldWorks.AssemblyDoc newPart = swApp.NewDocument("S:\....\Baugruppe.asmdot", 0.0#, 0.0#, 0.0#) ' Template file newPart = swAssy.InsertNewPart2("c:\temp\bla.sldprt", "X")
Was mache ich falsch? ------------------ http://www.worldcommunitygrid.org Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
 
 Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 29. Sep. 2008 15:54 <-- editieren / zitieren --> Unities abgeben:          Nur für G. Dawg
Ich habe das Gefühl das der InsertNewPart2 Befehl noch nicht (zumindest in der hilfe) aktualisiert wurde. Das einfügen als virtuelle Komponente gibt es ja erst seit der 2008er Version. Ich habe mal irgendwo im Forum gelesen dass man die API-Berfehle auch aus der dll auslesen kann, dort stehen dann alle drin. Vllt. wäre das ein Weg an einen aktualisierten Befehl ranzukommen. Wie das funktioniert weiss ich leider nicht :-( würde mich aber auch interessieren.. Ansonsten wäre vllt. auch ein Service Request bei Solid Works hilfreich... Oha da findet sich noch was in der hilfe sehe ich gerade: SwDMComponent3::IsVirtual Versuch doch mal damit dein Glück, das hört sich doch spitze an :-) viele Grüße Andy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 29. Sep. 2008 16:30 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von Baumjäger: Ich habe mal irgendwo im Forum gelesen dass man die API-Berfehle auch aus der dll auslesen kann, dort stehen dann alle drin. Vllt. wäre das ein Weg an einen aktualisierten Befehl ranzukommen. Wie das funktioniert weiss ich leider nicht :-( würde mich aber auch interessieren..
Würde mich auch interessieren!!!! :) Zitat:
Oha da findet sich noch was in der hilfe sehe ich gerade: SwDMComponent3::IsVirtual
"This property gets whether this component is a virtual component." -> Ja, das habe ich auch schon gefunden! Leider weiss ich damit nur, ob es sich um eine virtuelle Komponente handelt oder nicht! :-\ ------------------ http://www.worldcommunitygrid.org Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
 
 Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 30. Sep. 2008 12:16 <-- editieren / zitieren --> Unities abgeben:          Nur für G. Dawg
Zitat: Original erstellt von G. Dawg: "This property gets whether this component is a virtual component." -> Ja, das habe ich auch schon gefunden! Leider weiss ich damit nur, ob es sich um eine virtuelle Komponente handelt oder nicht! :-\
Ups, da hab ich wohl etwas voreilig aufgehört zu lesen :-(
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
myca Ehrenmitglied V.I.P. h.c. Konstrukteur

 Beiträge: 4383 Registriert: 15.06.2007 SW 2007 SW 2018 2,67 GHz,2 GB, ATI FIRE GL V5200, XP 64 3,4 GHz, 8GB, ATI FIRE PRO V7800, WIN 10 Pro
|
erstellt am: 30. Sep. 2008 13:20 <-- editieren / zitieren --> Unities abgeben:          Nur für G. Dawg
|
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
     
 Beiträge: 3256 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 30. Sep. 2008 14:10 <-- editieren / zitieren --> Unities abgeben:          Nur für G. Dawg
Merkwürdig find ich, dass auch das aufzeichnen als makro nicht wirklich weiterhilft. das makro tut es einfach nicht ... zumindest bei 2008-sp2 vielleicht gibt es die fkt noch nicht per api? aufzeichnen tut es bei mir: longstatus = Part.InsertNewPart2("D:\temp\swx3428\Teil1^Baugruppe1.sldprt", Nothing)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 30. Sep. 2008 15:58 <-- editieren / zitieren --> Unities abgeben:         
|
Baumjäger Mitglied CAD/PDM Administrator
 
 Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 01. Okt. 2008 08:52 <-- editieren / zitieren --> Unities abgeben:          Nur für G. Dawg
Zitat: Original erstellt von Christian_W: Merkwürdig find ich, dass auch das aufzeichnen als makro nicht wirklich weiterhilft. das makro tut es einfach nicht ... zumindest bei 2008-sp2 vielleicht gibt es die fkt noch nicht per api?aufzeichnen tut es bei mir: longstatus = Part.InsertNewPart2("D:\temp\swx3428\Teil1^Baugruppe1.sldprt", Nothing)
Deshalb habe ich auch vermutet dass hier so ein Service Request weiterhilft.. Aber vielleicht geht es auch mit der 2009 schon? Hat die schon jemand am laufen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VBSpawn Mitglied Programmierer
  
 Beiträge: 514 Registriert: 23.08.2005 Sorgfältige Planung ersetzt niemals pures Glück.
|
erstellt am: 01. Okt. 2008 09:19 <-- editieren / zitieren --> Unities abgeben:          Nur für G. Dawg
Zitat: Original erstellt von G. Dawg:
Code:
Dim swAssy As SldWorks.AssemblyDoc newPart = swApp.NewDocument("S:\....\Baugruppe.asmdot", 0.0#, 0.0#, 0.0#) ' Template file newPart = swAssy.InsertNewPart2("c:\temp\bla.sldprt", "X")
Was mache ich falsch?
Also mal ins Blaue vermutet (hab mein SWX nicht zur Hand) : Sollte es nicht wie folgt lauten?:
Code:
Dim swAssy As Object Dim swPart As ObjectswAssy = swApp.NewDocument("S:\....\Baugruppe.asmdot", 0.0#, 0.0#, 0.0#) ' Template file swPart = swAssy.InsertNewPart2("c:\temp\bla.sldprt", "X")
Gruß Micha ------------------ Stell dir vor, es geht, und keiner kriegts hin. Zitat: Interpunktion und Orthographie des Postings sind frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 02. Okt. 2008 14:27 <-- editieren / zitieren --> Unities abgeben:         
|
tbd Mitglied Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 02. Okt. 2008 15:39 <-- editieren / zitieren --> Unities abgeben:          Nur für G. Dawg
Hallo Gilbert, kann es sein das du bei der InsertNewPart2 Methode kein vorhandenes Bauteil sondern eine Bauteilvorlage, also eine *.prtdot Datei als Parameter filePathIn angeben musst? Ich kann mir da, ohne es zu Wissen, eine ähnliche Vorgehensweise wie bei der SldWorks.NewDocument Methode vorstellen. Ein Versuch ist es sicherlich Wert ------------------ Mfg Daniel www.MySldWorks.de - SolidWorks Api Snippets [Diese Nachricht wurde von tbd am 02. Okt. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 02. Okt. 2008 15:43 <-- editieren / zitieren --> Unities abgeben:         
Habe ich auch schon versucht. Macht keinen Unterschied. Keine Fehlermeldung, kein neues Teil! Code:
Dim swApp As SldWorks.SldWorks Dim swModel As Object Dim swAssy As SldWorks.AssemblyDocswApp = CType(Microsoft.VisualBasic.GetObject(Class:="SldWorks.Application"), SldWorks.SldWorks) swAssy = swApp.NewDocument("S:\....\Baugruppe.asmdot", 0.0#, 0.0#, 0.0#) ' Template file, works like a charme! swModel = swAssy.InsertNewPart2("S:\....\Teil.prtdot", "X") ' doesn't work.
------------------ http://www.worldcommunitygrid.org Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Mitglied Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 02. Okt. 2008 16:09 <-- editieren / zitieren --> Unities abgeben:          Nur für G. Dawg
Ich habs! Wichtig ist das man keine Vorlage, so wie ich zuerst gedacht hatte, angeben muss, sondern den Pfad des neuen Bauteils (Wohin wird das neue Bauteil gespeichert). Zudem muss eine Ebene oder eine Fläche als zweiter Parameter übergeben werden! In meinem Beispiel habe ich einfach eine Referenzebene selektiert und ausgewertet. Natürlich könnte man die gewünschte Ebene oder Fläche auch per Code selektieren oder sich die entsprechende Instanz über andere Wege besorgen. Die Instanz des neuen Bauteils bekommt man aus der neu erzeugten Komponente. Hier mal mein Beispiel mit Auswertung der Rückgabe von InsertNewPart2:
Code: Dim swApp As SldWorks.SldWorksDim swModel As SldWorks.ModelDoc2 Dim swAssy As SldWorks.AssemblyDoc Dim swSelectionMgr As SldWorks.SelectionMgr Dim swPlaneFeature As SldWorks.Feature Dim swPlane As SldWorks.RefPlane Dim eAntwort As swInsertNewPartErrorCode_e 'Application und Model initialisieren Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc Set swAssy = swModel 'Selektierte Ebene auswerten Set swSelectionMgr = swModel.SelectionManager Set swPlaneFeature = swSelectionMgr.GetSelectedObject6(1, -1) Set swPlane = swPlaneFeature.GetSpecificFeature2 'Neues Bauteil in die Baugruppe einfügen eAntwort = swAssy.InsertNewPart2( _ " ... \Neues_Bauteil.sldprt", swPlane) Select Case eAntwort Case swInsertNewPartErrorCode_e.swInsertNewPartError_CannotSelectFaceOrPlane Debug.Print ("swInsertNewPartError_CannotSelectFaceOrPlane") Case swInsertNewPartErrorCode_e.swInsertNewPartError_ErrorUknown Debug.Print ("swInsertNewPartError_ErrorUknown") Case swInsertNewPartErrorCode_e.swInsertNewPartError_ExtensionNotSldPrt Debug.Print ("swInsertNewPartError_ExtensionNotSldPrt") Case swInsertNewPartErrorCode_e.swInsertNewPartError_FileAlreadyExists Debug.Print ("swInsertNewPartError_FileAlreadyExists") Case swInsertNewPartErrorCode_e.swInsertNewPartError_FilePathEmpty Debug.Print ("swInsertNewPartError_FilePathEmpty") Case swInsertNewPartErrorCode_e.swInsertNewPartError_FolderDoesNotExist Debug.Print ("swInsertNewPartError_FolderDoesNotExist") Case swInsertNewPartErrorCode_e.swInsertNewPartError_NoError Debug.Print ("swInsertNewPartError_NoError") End Select
Schönes verlängertes Wochenende! ------------------ Mfg Daniel www.MySldWorks.de - SolidWorks Api Snippets [Diese Nachricht wurde von tbd am 02. Okt. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 02. Okt. 2008 16:37 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von tbd: Ich habs! Wichtig ist das man keine Vorlage, so wie ich zuerst gedacht hatte, angeben muss, sondern den Pfad des neuen Bauteils (Wohin wird das neue Bauteil gespeichert).
Und genau da liegt ja mein "Problem"!! Ich will das Teil ja in der Baugruppe speichern; nicht auf der Platte! ------------------ http://www.worldcommunitygrid.org Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 07. Okt. 2008 07:30 <-- editieren / zitieren --> Unities abgeben:         
|
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing. / Supporter

 Beiträge: 3864 Registriert: 29.09.2004 SOLIDWORKS 2024 SP3.1 SOLIDWORKS 2023 SP5.0 SOLIDWORKS 2022 SP5.0 SOLIDWORKS 2021 SP5.1
|
erstellt am: 07. Okt. 2008 07:56 <-- editieren / zitieren --> Unities abgeben:          Nur für G. Dawg
Hallo, Häng mich mal an dieses Thema dran. Hab mit der Hilfe und dem Forum versucht eine Virtuelle Komponente zu erstellen. Jetzt weiss ich zwar dank der Hilfe in SolidWorks und dem Forum sehr genau was eine virtuelle Komponente ist, hab aber weder hier im Forum noch in der SolidWorks Hilfe auch nur ansatzweise etwas gefunden wie man eine virtuelle Komponente erstellt. Kann mir mal jemand auf die Sprünge helfen? Gruss und Danke Mike ------------------ The Power Of Dreams Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 07. Okt. 2008 08:04 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von Oberli Mike: ... hab aber weder hier im Forum noch in der SolidWorks Hilfe auch nur ansatzweise etwas gefunden wie man eine virtuelle Komponente erstellt. Kann mir mal jemand auf die Sprünge helfen?
Per API? Gar nicht - Bis jetzt Manuell: In einer Baugruppe: Einfügen -> Komponente -> Neues Teil... irgendwo hinklicken, fetig. Dieses Teil wird nun als Teil einer Baugruppe mitgespeichert. Mit RMT im Featurebaum auf die virtuelle Komponente und "Teil Speichern (in externe Datei)" kann man das Teil, ja, rate mal!  ------------------ http://www.worldcommunitygrid.org Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing. / Supporter

 Beiträge: 3864 Registriert: 29.09.2004 SOLIDWORKS 2024 SP3.1 SOLIDWORKS 2023 SP5.0 SOLIDWORKS 2022 SP5.0 SOLIDWORKS 2021 SP5.1
|
erstellt am: 07. Okt. 2008 08:12 <-- editieren / zitieren --> Unities abgeben:          Nur für G. Dawg
Zitat: Original erstellt von G. Dawg: Per API? Gar nicht - Bis jetzt ;)
Das habe ich in diesem Beitrag mitbekommen, war zum Glück aber nicht meine Wissenlücke, also nicht jene welche ich jetzt stopfen wollte Danke, funktioniert wunderbar. Aber auch mit deinem Tip und der SolidWorks Hilfe (Suchbegriff virtuelle Komponente) finde ich den Weg nicht beschrieben. Die eckigen Klammern um den Namen weisen auf die virtuelle Komponente hin. Gruss Mike ------------------ The Power Of Dreams [Diese Nachricht wurde von Oberli Mike am 07. Okt. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lutz Federbusch Ehrenmitglied V.I.P. h.c. Dipl.-Ing. Maschinenbau

 Beiträge: 3094 Registriert: 03.12.2001 alle SW seit 97+ AutoCAD2016-2022 ERP ProAlpha + CA-Link Intel Core i7-7820K 32GB Win10x64 Quadro K5000 SpacePilot
|
erstellt am: 07. Okt. 2008 09:27 <-- editieren / zitieren --> Unities abgeben:          Nur für G. Dawg
|
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 13. Okt. 2008 11:41 <-- editieren / zitieren --> Unities abgeben:         
|
THSEFA Mitglied Konstrukteur/CAD-Admin
   
 Beiträge: 1142 Registriert: 27.11.2002 SWX 2020 SP5.0 Premium Windows 10 Pro 64Bit Citrix VM Intel(R) XEON(R) Gold 6146 CPU @ 3.20GHz 24 GB Ram<P>Windows 10 Pro 64Bit
|
erstellt am: 14. Okt. 2009 15:26 <-- editieren / zitieren --> Unities abgeben:          Nur für G. Dawg
Hab´s gerade gelesen: Zitat: Original erstellt von Solidworks-Kundenportal: The development team has implemented this SPR for SolidWorks 2009 SP4 (available June 2009).
Hat schon jemand ausprobiert? ------------------ Viele Grüße, THSEFA Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 26. Okt. 2009 09:45 <-- editieren / zitieren --> Unities abgeben:         
|