| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| SPS |
Autor
|
Thema: API - Teile virtuell machen (4757 mal gelesen)
|
Thisoft Mitglied Konstrukteur
Beiträge: 178 Registriert: 10.04.2010
|
erstellt am: 25. Jan. 2012 10:38 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe des Öfteren größere BG's zu importieren. Dazu möchte ich mir ein Makro basteln, was mir die ganze Sache nach dem Importieren schon mal automatisch "vorrichtet". Dazu gehört u.a. dass ich alle Komponenten virtuell machen möchte um nicht sinnloserweise hunderte von Teiledateien die mich nie wieder interessieren (Schrauben etc.) herumliegen zu haben. Dabei tappe ich allerdings gerade etwas im Dunkeln wie ich das per API bewerkstelligen kann. Die API-Hilfe spuckt mir da auch nichts wirklich brauchbares aus. Ich hab's so versucht: If ActComp.IsVirtual = False Then ActComp.IsVirtual = True Da bekomme ich aber einen Fehler. Offensichtlich hat diese Eigenschaft nur Lese-Zugriff Kann mir hier jemand den entscheidenden Tip geben? Gruß und Danke Thilo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thisoft Mitglied Konstrukteur
Beiträge: 178 Registriert: 10.04.2010 SWX 2018 Standard SP 3 Win10 Professional 64Bit Intel Core i7 7700K 16 GB RAM AMD FirePro W5000 =Beruf SW 2018 Standard SP0 Win10 Professional 64Bit Intel NUC Core i5-6260 12GB RAM Intel Onboard =Privat
|
erstellt am: 26. Jan. 2012 21:36 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich fürchte dass Eure nicht-Antworten so zu verstehen sind dass es dafür wirklich keinen API-Befehl gibt. Sonst wäre das doch dem geballten Wissen hier nicht entgangen ... Bitte nicht als drängeln verstehen. Nur - wenn der Thread schon auf Seite 2 ist liest ihn vermutlich kaum noch jemand. Gruß Thilo 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. Jan. 2012 07:49 <-- editieren / zitieren --> Unities abgeben: Nur für Thisoft
Zitat: Original erstellt von Thisoft: ich fürchte dass Eure nicht-Antworten so zu verstehen sind dass es dafür wirklich keinen API-Befehl gibt.
Oder es niemand von uns weiß, soll vorkommen. Hast du mal einfach beim API Support nachgefragt? Die wissen zumindest sicher, ob es so einen Befehl gibt. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
derwolf88 Mitglied Student
Beiträge: 14 Registriert: 27.01.2012 sw 2010
|
erstellt am: 27. Jan. 2012 14:15 <-- editieren / zitieren --> Unities abgeben: Nur für Thisoft
Hallo zusammen, Ich bin ganz neu hier. Im moment schreibe ich meine Bachelor Thesis. Ich arbeite mit SW 2010. Beziehungsweise versuch ich das... Einer meiner Aufgaben ist es, dass wenn ein Konstrukteur hier eine Baugruppe erstellt, er aus einem excel Teile-Katalog ein von mir erstelltes Teil in seiner Baugruppe einführen kann. Nach anklicken in excel soll das Teil in SW automatisch eingefügt werden. Daraufhin soll eine Eingabe Maske erscheinen und die Auswahl der Konfiguration (es gibt 5 Stück)und die Eingabe 2er MAße zu machen. Das hab ich auch soweit fast schon hinbekommen. nach viel viel arbeit und lesen... Das Problem ist, dass mein Betreuer fordert, dass das Teil vor Eingabe der Maße Virtuell gemacht werden soll, damit es nur in Baugruppe und nicht noch einmal extra abgespeichert wird. Im Enteffekt sitze ich also vor dem gleichen Problem, dass ich es einfach nicht hinbekomme, dass das Teil über ein Makro virtuell gemacht wird... Sehr Lange reder kurzer Sinn: Wenn Ihr eine Lösung gefunden habt, teilt mir doch bite mit wie man das umsetzen kann! DANKE Schönes Wochenende euch allen! @Stefan Echt toll, wie du das hier im Forum immer erklärst!!! Habe schon einige Beiträge von dir gelesen.
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. Jan. 2012 15:21 <-- editieren / zitieren --> Unities abgeben: Nur für Thisoft
Hallo zusammen, das hat mir doch jetzt keine Ruhe gelassen und ich hab mal ein wenig gestöbert. In einem Thread im SolidWorks API bei SolidWorks selbst hab ich im Thread https://forum.solidworks.com/message/226202#226202 im letzten Beitrag vom 27.11.2011 eine Antwort von Dan Miel gefunden: Zitat:
Re: What is the best way to virtual-ize all sub-assemblies inside of my parent assembly? Rob, This is a question that I also felt would be beneficial but could not find the solution. I finally wrote SW api support and here is their answer. There is currently no API to handle this option. There is, however, an existing SPR on this issue, 512679 (“need an API to implement the 'Make virtual' checkbox on Insert Component for an existing file; also to convert an existing component as with the 'Make virtual' command when you RMB on the component”). At this point, I can’t tell you when API Development will implement this, but it has been the subject of several customer/partner inquiries, and so it’s now at a ‘critical’ customer impact level. Joe
Ich hab das jetzt nicht selbst verifiziert, aber das scheint eindeutig: ein gibt keine Möglichkeit per API eine bestehende Komponente zu virtualisieren, aber einen SPR dafür, an den sich alle anhängen sollten, die das brauchen. Sorry, aber ich glaube du wirst deinen Prof davon überzeugen müssen, dass die Anforderung momentan nicht erfüllt werden kann. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thisoft Mitglied Konstrukteur
Beiträge: 178 Registriert: 10.04.2010
|
erstellt am: 27. Jan. 2012 18:00 <-- editieren / zitieren --> Unities abgeben:
Hallo Stefan, ich habe inzwischen auch mal direkt im API-Forum herumgestöbert und bin leider auch zu dem Ergebnis gekommen dass das Virtualisieren per API momentan definitiv nicht möglich ist. Danke, dass Du auch gleich noch den passenden SPR dazu hergesucht hast. Was mir momentan als Workaround einfallen würde wäre folgendes Vorgehen: -1. betreffende Komponente temporär irgendwo abspeichern -2. Komponente aus der BG löschen -3. das zwischengespeicherte Teil wieder per API als virtuelles Teil einfügen. Ich überlege noch, ob ich diesen Umweg gehen will... Gruß Thilo 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: 30. Jan. 2012 08:16 <-- editieren / zitieren --> Unities abgeben: Nur für Thisoft
Hi Thilo, Zitat: Original erstellt von Thisoft: Was mir momentan als Workaround einfallen würde wäre folgendes Vorgehen: -1. betreffende Komponente temporär irgendwo abspeichern -2. Komponente aus der BG löschen -3. das zwischengespeicherte Teil wieder per API als virtuelles Teil einfügen.
Hatte ich auch erst überlegt, aber ich hab keine Möglichkeit gefunden, wie man ein bestehendes Modell als virtuelles einfügen kann. Den Schalter "Virtuell machen" wie beim interaktiven Einfügen gibt es bei AddComponent5 nicht, mit InsertNewVirtualPart kannst du nur neue virtuelle Komponenten in der Baugruppe erzeugen. Und das Ersetzen einer virtuellen Komponente durch ein bestehendes Teil funktioniert auch nicht, da du dann die Referenz wieder auf ein bestehende, externe Datei verbiegst ... Im Moment sind virtuelle Komponenten von bestehenden Komponenten oder der Toggle virtuell/extern ein "SolidWorks only". Das hat aber den Charme, dass man im Moment eh keine Chance hat sich damit als Programmierer auseinander zu setzen, auch wenn die Kunden es vielleicht nicht verstehen ... Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
derwolf88 Mitglied Student
Beiträge: 14 Registriert: 27.01.2012 sw 2010
|
erstellt am: 31. Jan. 2012 08:22 <-- editieren / zitieren --> Unities abgeben: Nur für Thisoft
Hallo zusammen, Ersteinmal vielen Dank für eure Bemühungen... WEiß denn einer von euch ob ich so ein standard Teil, wie ich es erstelle über die Toolbox ansteuern kann? Soll heißen, man kann es aus der Toolbox ziehen und da wo normal der Proberty manager ist kann man die Einstellungen wählen? so wie beispielsweise eine SChraube... Da kann man wenn man sie aus der Toolbox gezogen hat nachträglich dIe Art und die Länge einstellen... Es gibt da eine Congfiguration Publisher... Der ist nicht ganz schlecht, aber man kann da nur Daten auswählen, die auch vorher in der Excel-Konfig-Tabelle angelegt wurden... Also man kann keine Länge eingeben sondern nur über eine Dropdown eine der vorhanden auswählen... Ich hab auch schon versucht einfach in die Excel Tabelle eine Dropdown BOx einzupflegen. Das macht der Config. Publisher allerdings leider nicht mit... Habt ihr noche eine andere Idee? Ich drehe mich nämlich langsam hier im Kreis... Gruß Stefan
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thisoft Mitglied Konstrukteur
Beiträge: 178 Registriert: 10.04.2010
|
erstellt am: 31. Jan. 2012 08:29 <-- editieren / zitieren --> Unities abgeben:
Hallo Stefan, da hast Du in der Tat schon wieder Recht . Ich hatte meine Idee einfach mal so geäußert ohne was getestet zu haben Naja, dann bleibt uns wohl nichts anderes übrig als auf die SolidWorks-Programmierer zu warten... Gruß Thilo 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: 31. Jan. 2012 09:03 <-- editieren / zitieren --> Unities abgeben: Nur für Thisoft
Hallo Stefan, Zitat: Original erstellt von derwolf88: Weiß denn einer von euch ob ich so ein standard Teil, wie ich es erstelle über die Toolbox ansteuern kann? [...] Habt ihr noche eine andere Idee? Ich drehe mich nämlich langsam hier im Kreis...
Irgendwie hab ich wohl den Abzweig verpasst, oben ging es doch nur darum, wie du dein bereits ausgewähltes, berechnetes und fertig erzeugte Teil in der Baugruppe zu einem virtuellen Teil machen kannst. In welchem Kreis drehst du dich denn jetzt? Make it pretty? Du willst also aus einer Menge N an halb vorgefertigten Komponenten den Anwender eine auswählen lassen, für diese Komponente ein paar frei wählbare Werte für Längen eingeben, ein paar andere per Dropdown für dieses Teil auswählen, danach das Teil "fertig" machen und in die Baugruppe einfügen? Wenn du das nicht durch eine einfache Maske machen willst kannst du dir auch eine eigene Propertymanagerpage dafür basteln, das sieht recht schick aus und ist nicht so schwer, wie es auf den ersten Blick aussieht. Die ganzen "technischen" Funktionen hast du doch schon fertig. Oder hab ich was ganz falsch verstanden? Dann wäre es vielleicht besser dafür einen euen Thread anzufangen, denn das hat wohl eher nichts mehr mit API Funktionen für virtuelle Komponenten zu tun. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
derwolf88 Mitglied Student
Beiträge: 14 Registriert: 27.01.2012 sw 2010
|
erstellt am: 31. Jan. 2012 09:09 <-- editieren / zitieren --> Unities abgeben: Nur für Thisoft
|
Olls Lai Lolli Mitglied Konstrukteur
Beiträge: 366 Registriert: 07.05.2009 MS Windows 10 Prof. Intel Xeon E5-1630 v 3 3.7 GHz 32 GB Ram Nvidia Quadro M4000 SWX 2019 x64 SP 5 PDM Enterprise 2019 SP 3
|
erstellt am: 06. Mai. 2012 13:35 <-- editieren / zitieren --> Unities abgeben: Nur für Thisoft
Hallo, gibt es was neues in Bezug auf Teil virtuel machen per Makro? Ich hab gerade einen kompletten Staproboter eingelesen, und hab da mal von Hand angefangen alles virtuell zu machen Das ist echt eine Sträflingsarbeit. Gruß OLL Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gogoslav Mitglied Maschinenbautechniker
Beiträge: 804 Registriert: 24.03.2005 WIN 10 x64 Enterprise SWX 2020 SP5.0 SWX 2021 SP5.1 SWX 2022 SP5.0 SWX 2023 SP0.1 Visualize Prof PDM Prof 2023 SP0.1 HP ZBook17 G5 Nvidia Quadro P3200 64 GB RAM Xeon 4,6 GHz
|
erstellt am: 06. Mai. 2012 21:25 <-- editieren / zitieren --> Unities abgeben: Nur für Thisoft
Hallo Thilo, seit SWX2012 wurde das Importverhalten von STEP geändert. Jetzt werden die Importdaten zunächst nur im RAM geöffnet und nicht auf die Platte geschrieben. Soll heissen, Du kannst Dir in Ruhe die Teile oder BG´s raussuchen und speichern, die Du benötigst. Den Rest kannst Du einfach schließen ohne speichern. So hast Du nur das auf der Platte, was Du benötigst. Gruß Marco ------------------ Papa 2005 u 2007 Gib jedem Tag die Chance, der schönste Deines Lebens zu werden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thisoft Mitglied Konstrukteur
Beiträge: 178 Registriert: 10.04.2010
|
erstellt am: 06. Mai. 2012 22:05 <-- editieren / zitieren --> Unities abgeben:
Hallo, @OllsLaiLolli es gibt zu diesem Thema einen SPR bei SWX (kann nur jetzt gerade nicht nach der Nummer gucken...) der, glaube ich, sogar mit relativ hoher Prio eingestuft ist - was ja aber bekanntlich trotzdem nicht heißen muß dass er auch schnell gelöst wird @gogoslav Deine Aussage ist insoweit schon richtig - habe ich auch schon bemerkt. Das nützt mir aber relativ wenig, weil ich schon in aller Regel die ganze BG benötige - nur will ich die eben gern in EINER DAtei und nicht jedes importierte Teilchen in einer separaten DAtei. Ich will mir da auch nicht wirklich die Mühe machen, auszusortieren welche 70 von den 300 Teilen (nur mal so als Mittelwert) ich mal gebrauchen könnte und welche nicht - das wäre ja noch vieeel mehr Aufwand! Und dafür nützt das neue Verhalten nämlich nix. Wenn man nämlich jetzt die (nur im RAM geöffneten) Teile leichtsinnigerweise ALLE markiert und sagt "Virtuell machen" bedeutet das, dass man anschließend 300mal (oder eben so oft, wie man Teile markiert hat) ein Meldungsfenster wegklicken muß was mir (sinngemäß) sagt: "Das Teil ist nicht vorhanden!". Ich muß also nach wie vor die gesamte BG auf Platte speichern, dann alle ET's virtuell machen, die BG wieder speichern und dann alle gespeicherten ET-DAteien wieder löschen wenn ich's so haben will wie ich's will Gruß Thilo [Diese Nachricht wurde von Thisoft am 06. Mai. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
INKN Mitglied Consulant/Softwareentwickler
Beiträge: 277 Registriert: 22.08.2001 SolidWorks 2015-2018 Lino 3D layout 2.2<P>Visual Studio 2017
|
erstellt am: 08. Mai. 2012 09:43 <-- editieren / zitieren --> Unities abgeben: Nur für Thisoft
Hallo zusammen, ich habe auch das Problem gehabt, dass die API dafür nicht verfügbar ist. Inzwischen habe ich aber die NAchricht von SWX, dass mit SWX2013 die API kommt, soweit QA keine Probleme findet. Ich bin schon ganz gespannt auf den Betatest! Gruß Ingo [Diese Nachricht wurde von INKN am 08. Mai. 2012 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: 08. Mai. 2012 11:41 <-- editieren / zitieren --> Unities abgeben: Nur für Thisoft
|
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 20. Dez. 2012 14:01 <-- editieren / zitieren --> Unities abgeben: Nur für Thisoft
Hallo zusammen, da SWX 2013 ja schon Verfügbar und bei einigen in Benützung ist hat jemand mal geschaut ob es die Funktionalität zur Komponenten Virtuallisierung via API nun tatsächlich gibt? Bin leider noch nicht auf 2013 unterwegs um selber zu suchen. 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 |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 20. Dez. 2012 14:13 <-- editieren / zitieren --> Unities abgeben: Nur für Thisoft
|
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 20. Dez. 2012 14:33 <-- editieren / zitieren --> Unities abgeben: Nur für Thisoft
Danke für die info Andreas. Dann nurnoch auf SP3 warten das wir auf SWX 2013 umstellen ------------------ --- 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 |