06-20-2021
05:49 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
06-20-2021
05:49 AM
Hi,
This isn't how it's done.. You are creating lines geometry but not constraining them together.
Here is a test iLogic Rule from me where I tested this a while ago.. :
'///////////////////////////////////VARIABLES//////////////////////////////////// Dim oDoc As Document oDoc = ThisApplication.ActiveDocument Dim oPartComp As PartComponentDefinition oPartComp = oDoc.ComponentDefinition Dim oPlanarSketch As PlanarSketch Dim oTG As TransientGeometry oTG = ThisApplication.TransientGeometry '////////////////////////////SET DEFAULT UNIT TO MM////////////////////////////// Dim oMillimeterUnit As UnitsTypeEnum oMillimeterUnit = UnitsTypeEnum.kMillimeterLengthUnits oDoc.UnitsOfMeasure.LengthUnits = oMillimeterUnit '//////////////////////////////CREATE USER PARAMETERS//////////////////////////// Dim oGap1 As UserParameter = oPartComp.Parameters.UserParameters.AddByExpression("Gap_1","50","mm") '///////////////////////////////CREATE SKETCH//////////////////////////////////// oPlanarSketch = oPartComp.Sketches.Add(oPartComp.WorkPlanes.Item(3)) oPlanarSketch.Name = "Sketch 1" oPlanarSketch.Edit '///////////////////////////////PROJECT ORIGIN POINT///////////////////////////// Dim oOrigin As WorkPoint oOrigin = oPartComp.WorkPoints.Item(1) Dim oOriginPoint As SketchEntity = oPlanarSketch.AddByProjectingEntity(oOrigin) '//////////////////////FINALY DRAW THE ACTUAL PART SKETCH//////////////////////// Dim oPoint1 As Point2d = oTG.CreatePoint2d(0, 0) Dim oPoint2 As Point2d = oTG.CreatePoint2d(0, 3.3) Dim oValue1 As Double = oGap1.Value + 3 + 5 Dim oPoint3 As Point2d = oTG.CreatePoint2d(oValue1,3.3) Dim oLine1 As SketchLine = oPlanarSketch.SketchLines.AddByTwoPoints(oPoint1, oPoint2) Dim oDimention1 As TwoPointDistanceDimConstraint = oPlanarSketch.DimensionConstraints.AddTwoPointDistance(oLine1.StartSketchPoint,oLine1.EndSketchPoint,DimensionOrientationEnum.kAlignedDim,oLine1.Geometry.MidPoint) oLine1.StartSketchPoint.Merge(oOriginPoint) oPlanarSketch.GeometricConstraints.AddVertical(oLine1) Dim oLine2 As SketchLine = oPlanarSketch.SketchLines.AddByTwoPoints(oPoint2, oPoint3) Dim oDimention2 As TwoPointDistanceDimConstraint = oPlanarSketch.DimensionConstraints.AddTwoPointDistance(oLine2.StartSketchPoint,oLine2.EndSketchPoint,DimensionOrientationEnum.kAlignedDim,oLine2.Geometry.MidPoint) oDimention2.Parameter.Expression = "Gap_1 + 30 + 50" oLine1.EndSketchPoint.Merge(oLine2.StartSketchPoint) oPlanarSketch.GeometricConstraints.AddPerpendicular(oLine1, oLine2) Dim oPoint4 As Point2d = oTG.CreatePoint2d(oPoint3.X,0.8) Dim oLine3 As SketchLine = oPlanarSketch.SketchLines.AddByTwoPoints(oPoint3, oPoint4) Dim oDimention3 As TwoPointDistanceDimConstraint = oPlanarSketch.DimensionConstraints.AddTwoPointDistance(oLine3.StartSketchPoint, oLine3.EndSketchPoint, DimensionOrientationEnum.kAlignedDim, oLine3.Geometry.MidPoint) oLine3.StartSketchPoint.Merge(oLine2.EndSketchPoint) oPlanarSketch.GeometricConstraints.AddPerpendicular(oLine2, oLine3) Dim oPoint5 As Point2d = oTG.CreatePoint2d(3, oPoint4.Y) Dim oLine4 As SketchLine = oPlanarSketch.SketchLines.AddByTwoPoints(oPoint4, oPoint5) oLine4.StartSketchPoint.Merge(oLine3.EndSketchPoint) oPlanarSketch.GeometricConstraints.AddPerpendicular(oLine3, oLine4) Dim oPoint6 As Point2d = oTG.CreatePoint2d(3, 0) Dim oLine5 As SketchLine = oPlanarSketch.SketchLines.AddByTwoPoints(oPoint5, oPoint6) oLine5.StartSketchPoint.Merge(oLine4.EndSketchPoint) oPlanarSketch.GeometricConstraints.AddPerpendicular(oLine4, oLine5) Dim oLine6 As SketchLine = oPlanarSketch.SketchLines.AddByTwoPoints(oPoint6, oPoint1) Dim oDimention4 As TwoPointDistanceDimConstraint = oPlanarSketch.DimensionConstraints.AddTwoPointDistance(oLine6.StartSketchPoint,oLine6.EndSketchPoint,DimensionOrientationEnum.kAlignedDim,oLine6.Geometry.MidPoint) oLine6.StartSketchPoint.Merge(oLine5.EndSketchPoint) oLine6.EndSketchPoint.Merge(oLine1.StartSketchPoint) oPlanarSketch.GeometricConstraints.AddPerpendicular(oLine5, oLine6) oPlanarSketch.ExitEdit '//////////////////////////////EXTRUDE THE SKETCH///////////////////////////// Dim oProfile As Profile oProfile = oPlanarSketch.Profiles.AddForSolid Dim oExtrude1 As ExtrudeFeature = oPartComp.Features.ExtrudeFeatures.AddByDistanceExtent(oProfile, 0.5 , kSymmetricExtentDirection, kJoinOperation) oExtrude1.Name = "Extrusion1" '/////////////////////////////////CHANGE COLOR//////////////////////////////// Dim oAppearence As Asset oAppearence = oDoc.Assets.Add(kAssetTypeAppearance, "Generic", "Appearances") Dim oColor As ColorAssetValue oColor = oAppearence.Item("generic_diffuse") oColor.Value = ThisApplication.TransientObjects.CreateColor(0,145,255) oExtrude1.Appearance = oAppearence
Hope this helps ,
Regards,
FINET L.
If this post solved your question, please kindly mark it as "Solution"
If this post helped out in any way to solve your question, please drop a "Like"