Skip to content

Commit dda2ad7

Browse files
committed
[DEXC-1781] Updated to DX SDK 3.1.0-beta
1 parent 563c701 commit dda2ad7

File tree

7 files changed

+115
-112
lines changed

7 files changed

+115
-112
lines changed

src/CreateExchangeHelper.cs

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ public class CreateExchangeHelper
2828

2929
public void AddWallGeometry(ElementDataModel data)
3030
{
31-
ElementGeometry wallGeometry = ElementDataModel.CreateGeometry($"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\\InputStepFile\\11DB159F6864D8FC02B33D7E9280498F08DFC4FB.stp", commonRenderStyle);
31+
ElementGeometry wallGeometry = ElementDataModel.CreateGeometry(new GeometryProperties($"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\\InputStepFile\\11DB159F6864D8FC02B33D7E9280498F08DFC4FB.stp", commonRenderStyle));
3232

33-
var wallElement = data.AddElement("Wall-1", "Walls", "Wall", "Generic Wall");
33+
var wallElement = data.AddElement(new ElementProperties("Wall-1", "Walls", "Wall", "Generic Wall"));
3434
var wallGeometries = new List<ElementGeometry> { wallGeometry };
3535

3636
data.SetElementGeometryByElement(wallElement, wallGeometries);
@@ -40,13 +40,10 @@ public void AddGeometryWithLengthUnit(ElementDataModel data)
4040
{
4141
var millimeterRodStepFile = $"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\\InputStepFile\\1000mm_rod.stp";
4242

43-
var millimeterRodGeometry = ElementDataModel.CreateGeometry(millimeterRodStepFile, commonRenderStyle);
44-
4543
//Specify default LengthUnit of the step file; for this file it is millimeters
46-
millimeterRodGeometry.LengthUnit = UnitFactory.MilliMeter;
47-
millimeterRodGeometry.DisplayLengthUnit = UnitFactory.MilliMeter;
48-
49-
var rodElement = data.AddElement("RodElement", "GenericRods", "GenericRod", "Generic Rod");
44+
var millimeterRodGeometry = ElementDataModel.CreateGeometry(new GeometryProperties(millimeterRodStepFile, commonRenderStyle) { LengthUnit = UnitFactory.MilliMeter, DisplayLengthUnit = UnitFactory.MilliMeter, DisplayAngleUnit = UnitFactory.Radian });
45+
46+
var rodElement = data.AddElement(new ElementProperties("RodElement", "GenericRods", "GenericRod", "Generic Rod") { LengthUnit = UnitFactory.MilliMeter, DisplayLengthUnit = UnitFactory.MilliMeter });
5047

5148
var rodElementGeometry = new List<ElementGeometry>() { millimeterRodGeometry };
5249

@@ -62,7 +59,7 @@ public void AddPrimitiveGeometries(ElementDataModel data)
6259

6360
private void AddPrimitiveLineGeometries(ElementDataModel data)
6461
{
65-
var newElement = data.AddElement("Line1", "Generics", "Generic", "Generic Object");
62+
var newElement = data.AddElement(new ElementProperties("Line1", "Generics", "Generic", "Generic Object"));
6663

6764
var newBRepElementGeometry = new List<ElementGeometry>();
6865

@@ -78,10 +75,10 @@ private void AddPrimitiveLineGeometries(ElementDataModel data)
7875
lineone.Range = range;
7976
setOfLines.Add(lineone);
8077

81-
newBRepElementGeometry.Add(ElementDataModel.CreatePrimitiveGeometry(setOfLines, commonRenderStyle));
78+
newBRepElementGeometry.Add(ElementDataModel.CreatePrimitiveGeometry(new GeometryProperties(setOfLines, commonRenderStyle)));
8279
data.SetElementGeometryByElement(newElement, newBRepElementGeometry);
8380

84-
var newLineElement2 = data.AddElement("Line2", "Generics", "Generic", "Generic Object");
81+
var newLineElement2 = data.AddElement(new ElementProperties("Line2", "Generics", "Generic", "Generic Object"));
8582

8683
var newlineElementGeometry = new List<ElementGeometry>();
8784

@@ -97,8 +94,8 @@ private void AddPrimitiveLineGeometries(ElementDataModel data)
9794
linethree.Range = range;
9895
setthreeOfLines.Add(linethree);
9996

100-
newlineElementGeometry.Add(ElementDataModel.CreatePrimitiveGeometry(settwoOfLines, commonRenderStyle));
101-
newlineElementGeometry.Add(ElementDataModel.CreatePrimitiveGeometry(setthreeOfLines, commonRenderStyle));
97+
newlineElementGeometry.Add(ElementDataModel.CreatePrimitiveGeometry(new GeometryProperties(settwoOfLines, commonRenderStyle)));
98+
newlineElementGeometry.Add(ElementDataModel.CreatePrimitiveGeometry(new GeometryProperties(setthreeOfLines, commonRenderStyle)));
10299
data.SetElementGeometryByElement(newLineElement2, newlineElementGeometry);
103100

104101
}
@@ -107,30 +104,30 @@ public void AddNISTObject(ElementDataModel data, Element newBRep)
107104
{
108105
var newBRepGeometry = new List<ElementGeometry>();
109106
var filePath = $"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\\InputStepFile\\cone.stp";
110-
newBRepGeometry.Add(ElementDataModel.CreateGeometry(filePath, commonRenderStyle));
107+
newBRepGeometry.Add(ElementDataModel.CreateGeometry(new GeometryProperties(filePath, commonRenderStyle)));
111108
data.SetElementGeometryByElement(newBRep, newBRepGeometry);
112109
}
113110

114111
public void AddPrimitivePointGeometry(ElementDataModel data)
115112
{
116113
//....Primitive geometry - One Point...
117-
var newPointElement = data.AddElement("Point1", "Generics", "Generic", "Point");
114+
var newPointElement = data.AddElement(new ElementProperties("Point1", "Generics", "Generic", "Point"));
118115
var newPointElementGeometry = new List<ElementGeometry>();
119116
DesignPoint point = new DesignPoint(10.0, 10.0, 10.0);
120-
newPointElementGeometry.Add(ElementDataModel.CreatePrimitiveGeometry(point, commonRenderStyle));
117+
newPointElementGeometry.Add(ElementDataModel.CreatePrimitiveGeometry(new GeometryProperties(point, commonRenderStyle)));
121118
data.SetElementGeometryByElement(newPointElement, newPointElementGeometry);
122119

123120
}
124121
public void AddPrimitiveCurveAndSurfaceGeometries(ElementDataModel data)
125122
{
126-
var circleElement = data.AddElement("Circle", "CircleGenerics", "CircleGeneric", "CircleElement");
123+
var circleElement = data.AddElement(new ElementProperties("Circle", "CircleGenerics", "CircleGeneric", "CircleElement"));
127124
var circleElementGeometry = new List<ElementGeometry>();
128125
var geomContainer = new GeometryContainer();
129126

130127
AddCurveGeometries(geomContainer);
131128
AddSurfaceGeometries(geomContainer);
132129

133-
circleElementGeometry.Add(ElementDataModel.CreatePrimitiveGeometry(geomContainer, commonRenderStyle));
130+
circleElementGeometry.Add(ElementDataModel.CreatePrimitiveGeometry(new GeometryProperties(geomContainer, commonRenderStyle)));
134131
data.SetElementGeometryByElement(circleElement, circleElementGeometry);
135132
}
136133

@@ -248,20 +245,20 @@ private void AddSurfaceGeometries(GeometryContainer geometryContainer)
248245

249246
public void AddMeshGeometry(ElementDataModel data)
250247
{
251-
var newMeshElement = data.AddElement("MeshEElement", "GenericsMesh", "GenericMesh", "Mesh Object");
248+
var newMeshElement = data.AddElement(new ElementProperties("MeshEElement", "GenericsMesh", "GenericMesh", "Mesh Object"));
252249
var newMeshGeometry = new List<ElementGeometry>();
253250
var filePathMesh = $"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\\InputStepFile\\mesh1.obj";
254-
newMeshGeometry.Add(ElementDataModel.CreateGeometry(filePathMesh, commonRenderStyle));
251+
newMeshGeometry.Add(ElementDataModel.CreateGeometry(new GeometryProperties(filePathMesh, commonRenderStyle)));
255252
data.SetElementGeometryByElement(newMeshElement, newMeshGeometry);
256253
}
257254

258255
public void AddIFCGeometry(ElementDataModel data)
259256
{
260-
var newIfcBrep = data.AddElement("NISTIFC", "IFCs", "IFC", "IFC Object");
257+
var newIfcBrep = data.AddElement(new ElementProperties("NISTIFC", "IFCs", "IFC", "IFC Object"));
261258

262259
var newIfcBRepGeometry = new List<ElementGeometry>();
263260
var ifcfilePath = $"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\\InputStepFile\\Beam.ifc";
264-
newIfcBRepGeometry.Add(ElementDataModel.CreateGeometry(ifcfilePath, commonRenderStyle));
261+
newIfcBRepGeometry.Add(ElementDataModel.CreateGeometry(new GeometryProperties(ifcfilePath, commonRenderStyle)));
265262
data.SetElementGeometryByElement(newIfcBrep, newIfcBRepGeometry);
266263
}
267264

@@ -438,15 +435,15 @@ public void AddElementsForExchangeUpdate(ElementDataModel data)
438435
//Add Element with BRep Geometry
439436
var newBRepGeometry = new List<ElementGeometry>();
440437
var filePath = $"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\\InputStepFile\\nist_ftc_09_asme1_rd.stp";
441-
newBRepGeometry.Add(ElementDataModel.CreateGeometry(filePath, commonRenderStyle));
442-
var newBRep = data.AddElement("0-new", "Generics", "Generic", "Non-Generic Object");
438+
newBRepGeometry.Add(ElementDataModel.CreateGeometry(new GeometryProperties(filePath, commonRenderStyle)));
439+
var newBRep = data.AddElement(new ElementProperties("0-new", "Generics", "Generic", "Non-Generic Object"));
443440
data.SetElementGeometryByElement(newBRep, newBRepGeometry);
444441

445442
//Add Element with Mesh Geometry
446-
var newMeshElement = data.AddElement("MeshElementUpdate", "GenericsMeshUpdate", "GenericMeshUpdate", "Mesh Object Update");
443+
var newMeshElement = data.AddElement(new ElementProperties("MeshElementUpdate", "GenericsMeshUpdate", "GenericMeshUpdate", "Mesh Object Update"));
447444
var newMeshGeometry = new List<ElementGeometry>();
448445
var filePathToMesh = $"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\\InputStepFile\\mesh2.obj";
449-
newMeshGeometry.Add(ElementDataModel.CreateGeometry(filePathToMesh, commonRenderStyle));
446+
newMeshGeometry.Add(ElementDataModel.CreateGeometry(new GeometryProperties(filePathToMesh, commonRenderStyle)));
450447
data.SetElementGeometryByElement(newMeshElement, newMeshGeometry);
451448
}
452449
}

src/CustomReadWriteModel.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
using Autodesk.DataExchange.DataModels;
1414
using Autodesk.DataExchange.Interface;
1515
using Autodesk.DataExchange.Models;
16+
using Autodesk.DataExchange.SchemaObjects.Assets;
17+
using Autodesk.DataExchange.SchemaObjects.Units;
1618
using Autodesk.DataExchange.Schemas.Models;
1719
using Autodesk.GeometryPrimitives.Design;
1820
using Autodesk.GeometryPrimitives.Geometry;
@@ -217,6 +219,10 @@ public override async Task UpdateExchangeAsync(ExchangeItem ExchangeItem)
217219
//Create a new ElementDataModel wrapper
218220
currentElementDataModel = ElementDataModel.Create(Client);
219221

222+
//Set Unit info on Root Asset
223+
(currentElementDataModel.ExchangeData.RootAsset as DesignAsset).LengthUnit = UnitFactory.Feet;
224+
(currentElementDataModel.ExchangeData.RootAsset as DesignAsset).DisplayLengthUnit = UnitFactory.Feet;
225+
220226
//Add a basic wall geometry
221227
createExchangeHelper.AddWallGeometry(currentElementDataModel);
222228

@@ -233,7 +239,7 @@ public override async Task UpdateExchangeAsync(ExchangeItem ExchangeItem)
233239
createExchangeHelper.AddIFCGeometry(currentElementDataModel);
234240

235241
//Add NIST object
236-
var newBRep = currentElementDataModel.AddElement("NISTSTEP", "Generics", "Generic", "Generic Object");
242+
var newBRep = currentElementDataModel.AddElement(new ElementProperties("NISTSTEP", "Generics", "Generic", "Generic Object"));
237243
createExchangeHelper.AddNISTObject(currentElementDataModel, newBRep);
238244

239245
//Create built in parameters

0 commit comments

Comments
 (0)