internal static void AdjustBeamEnd(Autodesk.AdvanceSteel.Modelling.Beam beam, Autodesk.AdvanceSteel.Geometry.Point3d newPtStart) { Autodesk.AdvanceSteel.Geometry.Point3d beamPtStart = beam.GetPointAtStart(); Autodesk.AdvanceSteel.Geometry.Point3d beamPtEnd = beam.GetPointAtEnd(); if (beamPtEnd.IsEqualTo(newPtStart)) { Autodesk.AdvanceSteel.Geometry.Point3d newBeamEnd = beamPtEnd + (beamPtEnd - beamPtStart) * 0.5; beam.SetSysEnd(newBeamEnd); } }
private void createBeam(CSVField row, Line line) { Autodesk.AdvanceSteel.Geometry.Point3d startPoint = new Autodesk.AdvanceSteel.Geometry.Point3d(line.StartPoint.X, line.StartPoint.Y, line.StartPoint.Z); Autodesk.AdvanceSteel.Geometry.Point3d endPoint = new Autodesk.AdvanceSteel.Geometry.Point3d(line.EndPoint.X, line.EndPoint.Y, line.EndPoint.Z); string beamFormat = String.Format("{0}#@§@#{1}", row.Table, row.Section); // string beamFormat = "AS-NZS SHS - CF C350#@§@#SHS 100x100x3.0"; StraightBeam myBeam = new StraightBeam(beamFormat, startPoint, endPoint, Autodesk.AdvanceSteel.Geometry.Vector3d.kXAxis); myBeam.WriteToDb(); }
static public Autodesk.DesignScript.Geometry.Point ToDynPoint(Autodesk.AdvanceSteel.Geometry.Point3d pt, bool bConvertFromAstUnits) { double factor = 1.0; if (bConvertFromAstUnits) { var units = DocumentManager.getCurrentDocument().CurrentDatabase.Units; factor = units.UnitOfDistance.Factor; } pt = pt * (1 / factor); return(Autodesk.DesignScript.Geometry.Point.ByCoordinates(pt.x, pt.y, pt.z)); }
static public Autodesk.AdvanceSteel.Geometry.Point3d[] ToAstPoints(Autodesk.DesignScript.Geometry.Point[] pts, bool bConvertToAstUnits) { if (pts == null) { return(new Autodesk.AdvanceSteel.Geometry.Point3d[0]); } Autodesk.AdvanceSteel.Geometry.Point3d[] astPts = new Autodesk.AdvanceSteel.Geometry.Point3d[pts.Length]; for (int nIdx = 0; nIdx < pts.Length; nIdx++) { astPts[nIdx] = ToAstPoint(pts[nIdx], bConvertToAstUnits); } return(astPts); }