Ik kwam een vreemde eend in de bijt met de OpenDoc6 functie. In een deel van mijn macro probeer ik elk onderdeel van mijn assembly achtereenvolgens te openen in de volgorde van de feature manager. Wat ik niet begrijp, is dat ik het type document moet specificeren dat ik als assembly moet openen om een onderdeel te openen en vice versa om een onderdeel te openen, anders wordt het document niet geopend.
Als FileTyp = swDocPART dan swApp.OpenDoc6 CompPath, swDocASSEMBLY, swOpenDocOptions_Silent, ConfigName, longstatus, longwarnings Einde als
Als FileTyp = swDocASSEMBLY dan swApp.OpenDoc6 CompPath, swDocPART, swOpenDocOptions_Silent, ConfigName, longstatus, longwarnings Einde als
Dit is de normale manier waarop de OpenDoc6-methode werkt. Zie hier: http://help.solidworks.com/2016/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.isldworks~opendoc6.html
Hoe wordt het type document bepaald dat moet worden geopend?
Normaal gesproken zou het dit moeten zijn:
' Bepaal het type SOLIDWORKS-bestand op basis van de bestandsextensie Als InStr(LCase(sDocFileName), "sldprt") > 0 Dan nDocType = swDocDEEL ElseIf InStr(LCase(sDocFileName), "sldasm") > dan 0 nDocType = swDocASSEMBLY ElseIf InStr(LCase(sDocFileName), "slddrw") > dan 0 nDocType = swDocTEKENING Anders ' Waarschijnlijk geen SOLIDWORKS-bestand nDocType = swDocNONE ' Kan het bestand dus niet openen Sub afsluiten Einde als
Het is hetzelfde als het aanroepen van een aangepaste eigenschap in een tekenbericht: $PRPSHEET als het is gedefinieerd in de PRT/ASM, $PRP als het is gedefinieerd in de DRW...