Выноска указателя для SelectById2

Я пытаюсь передать какой-то код, который я написал в VBA для управления Solidworks in в Python. В частности, автоматизация редактирования эскиза. У меня возникают проблемы с использованием SolidWorks SelectById2 в Python. В VBA следующий код работает нормально:

Part.Extension.SelectByID2("Sketch1", "SKETCH", 0, 0, 0, False, 0, Nothing, 0) 

Проблема, с которой я столкнулась, заключается в замене значения VBA «Nothing» на некоторый эквивалент Python.

Из документов Solidworks API, которые ищет SelectByID2, является:

 SelectByID2(Name, Type, X, Y, Z, Append, Mark, Callout, SelectOption) 

Где Callout – указатель на соответствующую выноску. Я бы предпочел не создавать указатель, поскольку он не имеет отношения ко мне, и я видел в VBA, что это необязательно.

Я пытался использовать Python's None, pythoncom.Missing, pythoncom.Empty, «", "", 0 … все безрезультатно. Все это дает мне TypeError.

Вот мой соответствующий код Python:

 import win32com.client import pythoncom pythoncom.CoInitializeEx(pythoncom.COINIT_APARTMENTTHREADED) sldworks = win32com.client.gencache.EnsureModule('{83A33D31-27C5-11CE-BFD4-00400513BB57}', 0x0, 20, 0) # Solidworks OLE Automation 1.0 Type Library swconst = win32com.client.gencache.EnsureModule('{4687F359-55D0-4CD3-B6CF-2EB42C11F989}', 0x0, 20, 0) # Solidworks 2012 Constant Type Library sw = sldworks.SldWorks() sw.Visible = 1 model_path = "Y:\\Templates\\Solidworks\\test.SLDPRT" doc, errors, warnings = sw.OpenDoc6(model_path, swconst.constants.swDocPART, swconst.constants.swOpenDocOptions_Silent, "", pythoncom.Missing, pythoncom.Missing) sw.ActivateDoc2(model_path, False,pythoncom.Missing) Part = sw.ActiveDoc try: Part.Extension.SelectByID2("Sketch1", "SKETCH", 0, 0, 0, False, 0, ffff, 0) except Exception, value: print "Exception occured, value = ", value 

Любые предложения о том, как это понять?

One Solution collect form web for “Выноска указателя для SelectById2”

я знаю, что он не решает вашу проблему, но, возможно, вы можете использовать обходной путь:

 swModel.FirstFeature 

то вы просите имя:

 swFeat.Name = "Sketch1" 

если это не эскиз, который вы ищете, идите дальше для следующего:

 swFeat = swFeat.GetNextFeature 
Python - лучший язык программирования в мире.