Я пытаюсь автоматизировать дизайн в CATIA. Я использую python, затем записываю макросы в CATIA и транслирую код там в код python. Теперь я наткнулся на проблему.
Ниже приведен макрос из CATIA, который я хочу перевести в код Pyhton.
Language="VBSCRIPT"
Sub CATMain()
Set productDocument1 = CATIA.ActiveDocument
Set product1 = productDocument1.Product
Set product1 = product1.ReferenceProduct
Set constraints1 = product1.Connections("CATIAConstraints")
Set reference1 = product1.CreateReferenceFromName("ContainerSchiff/Container1/!yz plane")
Set reference2 = product1.CreateReferenceFromName("ContainerSchiff/Container0/!Geometrical Set.1/Point.2")
----Here is the problem ---- Set constraint1 = constraints1.AddBiEltCst(catCstTypeDistance, reference1, reference2)
Set length1 = constraint1.Dimension
length1.Value = 300.000000
product1.Update
End Sub
При переводе я понятия не имею, что делать с catCstTypeDistance
Если я оставлю все как есть, то python, очевидно, будет жаловаться на то, что имя не определено. Если я передаю это как строку, то жалуется. Ниже находится часть питона
else:
add_container_skeleton(product1,i)
product1.ReferenceProduct
constraints1=product1.Connections("CATIAConstraints")
Name1="ContainerSchiff/Container" + str(i-1) + "/!Container1/yz plane"
Name2="ContainerSchiff/Container" + str(i) + "/!Geometrical Set.1/Point.2"
reference1= product1.CreateReferenceFromName(Name1)
reference2 = product1.CreateReferenceFromName(Name2)
constraint1 = constraints1.AddBiEltCst('catCstTypeDistance', reference1, reference2)
length1 = constraint1.Dimension
length1.Value = 300.000000
и два разных сообщения об ошибках, которые я получаю.
File "C:\Users\Mange\Documents\LIU\Catia part 2\first_draft.py", line 179, in place_containers
constraint1 = constraints1.AddBiEltCst('catCstTypeDistance', reference1, reference2)
File "<COMObject Connections>", line 3, in AddBiEltCst
ValueError: invalid literal for int() with base 10: 'catCstTypeDistance'
File "C:\Users\Mange\Documents\LIU\Catia part 2\first_draft.py", line 179, in place_containers
constraint1 = constraints1.AddBiEltCst(catCstTypeDistance(), reference1, reference2)
NameError: name 'catCstTypeDistance' is not defined
Как я могу "получить доступ" к этой вещи / объекту (?) Из python?