Есть правило, которое позволяет привязать, например, SurfaceTextureSymbol к эскизу. Это правило хорошо работает. В этом примере привязываюсь к дуге.
Dim oDoc As DrawingDocument
oDoc = ThisApplication.ActiveDocument
Dim oSheet As Sheet
oSheet = oDoc.ActiveSheet
Dim drawingSketch As DrawingSketch
drawingSketch = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kSketchObjectFilter, "Select a DrawingSketch.")
Dim oGI As GeometryIntent
oGI = oSheet.CreateGeometryIntent(drawingSketch.SketchArcs.Item(1))
Dim oCol As ObjectCollection
oCol = ThisApplication.TransientObjects.CreateObjectCollection
oCol.Add(ThisApplication.TransientGeometry.CreatePoint2d(0, 0))
oCol.Add(oGI)
Dim oText As SurfaceTextureSymbol
oText = oSheet.SurfaceTextureSymbols.Add(oCol, kBasicSurfaceType, True, , , "Roughness")
Решил по аналогии сделать точно такое же правило, но с привязкой к SketchedSymbol, но оно не работает. Хотя вручную такое можно сделать.
Dim oDoc As DrawingDocument
oDoc = ThisApplication.ActiveDocument
Dim oSheet As Sheet
oSheet = oDoc.ActiveSheet
Dim drawingSketch As SketchedSymbol
drawingSketch = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kDrawingSketchedSymbolFilter, "Select a SketchedSymbol.")
Dim oGI As GeometryIntent
oGI = oSheet.CreateGeometryIntent(drawingSketch.Definition.Sketch.SketchArcs.Item(1))
Dim oCol As ObjectCollection
oCol = ThisApplication.TransientObjects.CreateObjectCollection
oCol.Add(ThisApplication.TransientGeometry.CreatePoint2d(0, 0))
oCol.Add(oGI)
Dim oText As SurfaceTextureSymbol
oText = oSheet.SurfaceTextureSymbols.Add(oCol, kBasicSurfaceType, True, , , "Roughness")
Подскажите, пожалуйста, где я допускаю ошибку или такое нельзя сделать.