Community
Hi!
I try to define plates with holes using API. It is possible to declare a contour as an opening? Otherwise it will create an overlapped plate.
Regards,
Gabi
I have not checked yet but what about creating contour only without assigning any property - just contour geometry ?
Gabi,
Example code:
Sub AAA() ' ouverture de robot, la session s'appellera robapp Set robapp = New RobotApplication ' ce sera une structure de type panneaux robapp.Project.New (I_PT_SHELL) Dim monobjet As RobotObjObject Dim monobjet1 As RobotObjObject Dim moncontour As New RobotGeoContour Dim moncontour1 As New RobotGeoContour Dim monsegment() As New RobotGeoSegmentLine Dim monsegment1() As New RobotGeoSegmentLine robapp.Project.Structure.Objects.AutoRecalcHoles = False ReDim monsegment(1 To 4) ReDim monsegment1(1 To 4) monsegment(1).P1.Set 0, 0, 0 monsegment(2).P1.Set 0, 5, 0 monsegment(3).P1.Set 5, 5, 0 monsegment(4).P1.Set 5, 0, 0 ' initialisation des contours moncontour.Add monsegment(1) moncontour.Add monsegment(2) moncontour.Add monsegment(3) moncontour.Add monsegment(4) moncontour.Initialize 'création de l'object panneau Set monobjet = robapp.Project.Structure.Objects.Create(1) monobjet.Main.Geometry = moncontour monobjet.Main.Attribs.Meshed = True monobjet.Initialize monobjet.Update monsegment1(1).P1.Set 1, 1, 0 monsegment1(2).P1.Set 1, 2, 0 monsegment1(3).P1.Set 2, 2, 0 monsegment1(4).P1.Set 2, 1, 0 ' initialisation des contours moncontour1.Add monsegment1(1) moncontour1.Add monsegment1(2) moncontour1.Add monsegment1(3) moncontour1.Add monsegment1(4) moncontour1.Initialize 'création de l'object trou Set monobjet1 = robapp.Project.Structure.Objects.Create(2) monobjet1.Main.Geometry = moncontour1 monobjet1.Main.Attribs.Meshed = False monobjet1.Initialize monobjet1.Update monobjet.Initialize monobjet.Update robapp.Project.Structure.Objects.AutoRecalcHoles = True End Sub
or
using one object you need to kill it before using second time:
Set moncontour = Nothing Set moncontour = New RobotGeoContour ReDim monsegment(1 To 4)
the code:
Sub BBB() ' ouverture de robot, la session s'appellera robapp Set robapp = New RobotApplication ' ce sera une structure de type panneaux robapp.Project.New (I_PT_SHELL) Dim monobjet As RobotObjObject Dim moncontour As New RobotGeoContour Dim monsegment() As New RobotGeoSegmentLine robapp.Project.Structure.Objects.AutoRecalcHoles = False ReDim monsegment(1 To 4) monsegment(1).P1.Set 0, 0, 0 monsegment(2).P1.Set 0, 5, 0 monsegment(3).P1.Set 5, 5, 0 monsegment(4).P1.Set 5, 0, 0 ' initialisation des contours moncontour.Add monsegment(1) moncontour.Add monsegment(2) moncontour.Add monsegment(3) moncontour.Add monsegment(4) moncontour.Initialize 'création de l'object panneau Set monobjet = robapp.Project.Structure.Objects.Create(1) monobjet.Main.Geometry = moncontour monobjet.Main.Attribs.Meshed = True monobjet.Initialize monobjet.Update Set moncontour = Nothing Set moncontour = New RobotGeoContour ReDim monsegment(1 To 4) monsegment(1).P1.Set 1, 1, 0 monsegment(2).P1.Set 1, 2, 0 monsegment(3).P1.Set 2, 2, 0 monsegment(4).P1.Set 2, 1, 0 ' initialisation des contours moncontour.Add monsegment(1) moncontour.Add monsegment(2) moncontour.Add monsegment(3) moncontour.Add monsegment(4) moncontour.Initialize
' creation de l'object trou Set monobjet = robapp.Project.Structure.Objects.Create(2) monobjet.Main.Geometry = moncontour monobjet.Main.Attribs.Meshed = False monobjet.Initialize monobjet.Update robapp.Project.Structure.Objects.AutoRecalcHoles = True End Sub