11using Autodesk . DataExchange . Core . Enums ;
22using Autodesk . DataExchange . DataModels ;
33using Autodesk . DataExchange . SchemaObjects . Units ;
4- using Autodesk . GeometryPrimitives . Data ;
5- using Autodesk . GeometryPrimitives . Data . DX ;
6- using Autodesk . GeometryUtilities . MeshAPI ;
4+ using Autodesk . GeometryPrimitives . Design ;
5+ using Autodesk . GeometryPrimitives . Geometry ;
6+ using Autodesk . GeometryPrimitives . Math ;
77using Autodesk . Parameters ;
88using System . Collections . Generic ;
99using System . IO ;
@@ -122,9 +122,9 @@ public void AddPrimitiveCurveAndSurfaceGeometries(ElementDataModel data)
122122 data . SetElementGeometryByElement ( circleElement , circleElementGeometry ) ;
123123 }
124124
125- private void AddCurveGeometries ( GeometryContainer geometryContainer )
125+ private void AddCurveGeometries ( Autodesk . GeometryPrimitives . Design . GeometryContainer geometryContainer )
126126 {
127- geometryContainer . Curves = new List < Curve > ( ) ;
127+ geometryContainer . Curves = new CurveArray ( ) ;
128128
129129 AddCircleGeometries ( geometryContainer ) ;
130130
@@ -202,7 +202,7 @@ private Ellipse GetEllipseGeometry()
202202
203203 private void AddSurfaceGeometries ( GeometryContainer geometryContainer )
204204 {
205- geometryContainer . Surfaces = new List < Surface > ( )
205+ geometryContainer . Surfaces = new SurfaceArray ( )
206206 {
207207 new Plane ( )
208208 {
@@ -236,269 +236,11 @@ private void AddSurfaceGeometries(GeometryContainer geometryContainer)
236236
237237 public void AddMeshGeometry ( ElementDataModel data )
238238 {
239- Autodesk . GeometryUtilities . MeshAPI . Mesh inMemoryMesh = new Autodesk . GeometryUtilities . MeshAPI . Mesh ( )
240- {
241- Vertices = new List < Vertex >
242- {
243- new Vertex ( 0.0 , 0.0 , 0.0 ) ,
244- new Vertex ( 1.0 , 0.0 , 0.0 ) ,
245- new Vertex ( 0.0 , 1.0 , 0.0 ) ,
246- new Vertex ( 1.0 , 1.0 , 0.0 ) ,
247- } ,
248- Faces = new List < Face >
249- {
250- new Face ( )
251- {
252- Corners = new List < int > { 0 , 1 , 2 } ,
253- Normals = new List < Normal >
254- {
255- new Normal ( 0 , 0 , 1 ) ,
256- new Normal ( 0 , 0 , 1 ) ,
257- new Normal ( 0 , 0 , 1 ) ,
258- } ,
259- } ,
260- new Face ( )
261- {
262- Corners = new List < int > { 2 , 1 , 3 } ,
263- Normals = new List < Normal >
264- {
265- new Normal ( 0 , 0 , 1 ) ,
266- new Normal ( 0 , 0 , 1 ) ,
267- new Normal ( 0 , 0 , 1 ) ,
268- } ,
269- } ,
270- } ,
271- } ;
272-
273- var meshObjWithColor = new Autodesk . GeometryUtilities . MeshAPI . Mesh ( )
274- {
275- MeshColor = new Color ( 0.9f , 0.2f , 0.2f , 1.0f ) , // mesh body color
276- Vertices = new List < Vertex >
277- {
278- new Vertex ( 0.0 , 0.0 , 0.0 ) ,
279- new Vertex ( 1.0 , 0.0 , 0.0 ) ,
280- new Vertex ( 0.0 , 1.0 , 0.0 ) ,
281- new Vertex ( 1.0 , 1.0 , 0.0 ) ,
282- } ,
283- Faces = new List < Face >
284- {
285- new Face ( )
286- {
287- Corners = new List < int > { 0 , 1 , 2 } ,
288- Normals = new List < Normal >
289- {
290- new Normal ( 0 , 0 , 1 ) ,
291- new Normal ( 0 , 0 , 1 ) ,
292- new Normal ( 0 , 0 , 1 ) ,
293- } ,
294- FaceColor = new Color ( 0.2f , 0.2f , 0.9f , 1.0f ) , // face color
295- } ,
296- new Face ( )
297- {
298- Corners = new List < int > { 2 , 1 , 3 } ,
299- Normals = new List < Normal >
300- {
301- new Normal ( 0 , 0 , 1 ) ,
302- new Normal ( 0 , 0 , 1 ) ,
303- new Normal ( 0 , 0 , 1 ) ,
304- } ,
305- FaceColor = new Color ( 0.2f , 0.9f , 0.2f , 1.0f ) , // face color
306- } ,
307- } ,
308- } ;
309-
310- var complexMesh = new Autodesk . GeometryUtilities . MeshAPI . Mesh ( )
311- {
312- MeshColor = new Color ( 0.5f , 0.5f , 0.5f , 1.0f ) , // mesh body color
313- Vertices = new List < Vertex >
314- {
315- new Vertex ( 0.0 , 0.0 , 0.0 ) ,
316- new Vertex ( 1.0 , 0.0 , 0.0 ) ,
317- new Vertex ( 0.0 , 1.0 , 0.0 ) ,
318- new Vertex ( 1.0 , 1.0 , 0.0 ) ,
319- new Vertex ( 0.0 , 0.0 , 1.0 ) ,
320- new Vertex ( 1.0 , 0.0 , 1.0 ) ,
321- new Vertex ( 0.0 , 1.0 , 1.0 ) ,
322- new Vertex ( 1.0 , 1.0 , 1.0 ) ,
323- new Vertex ( 0.5 , 0.5 , 1.5 ) ,
324- } ,
325- Faces = new List < Face >
326- {
327- new Face ( )
328- {
329- Corners = new List < int > { 0 , 1 , 2 } ,
330- Normals = new List < Normal >
331- {
332- new Normal ( 0 , 0 , 1 ) ,
333- new Normal ( 0 , 0 , 1 ) ,
334- new Normal ( 0 , 0 , 1 ) ,
335- } ,
336- FaceColor = new Color ( 0.2f , 0.2f , 0.9f , 1.0f ) , // face color
337- } ,
338- new Face ( )
339- {
340- Corners = new List < int > { 2 , 1 , 3 } ,
341- Normals = new List < Normal >
342- {
343- new Normal ( 0 , 0 , 1 ) ,
344- new Normal ( 0 , 0 , 1 ) ,
345- new Normal ( 0 , 0 , 1 ) ,
346- } ,
347- FaceColor = new Color ( 0.2f , 0.9f , 0.2f , 1.0f ) , // face color
348- } ,
349- new Face ( )
350- {
351- Corners = new List < int > { 0 , 1 , 4 } ,
352- Normals = new List < Normal >
353- {
354- new Normal ( 0 , 1 , 0 ) ,
355- new Normal ( 0 , 1 , 0 ) ,
356- new Normal ( 0 , 1 , 0 ) ,
357- } ,
358- FaceColor = new Color ( 0.9f , 0.2f , 0.2f , 1.0f ) , // face color
359- } ,
360- new Face ( )
361- {
362- Corners = new List < int > { 1 , 5 , 4 } ,
363- Normals = new List < Normal >
364- {
365- new Normal ( 0 , 1 , 0 ) ,
366- new Normal ( 0 , 1 , 0 ) ,
367- new Normal ( 0 , 1 , 0 ) ,
368- } ,
369- FaceColor = new Color ( 0.9f , 0.2f , 0.2f , 1.0f ) , // face color
370- } ,
371- new Face ( )
372- {
373- Corners = new List < int > { 0 , 2 , 4 } ,
374- Normals = new List < Normal >
375- {
376- new Normal ( 1 , 0 , 0 ) ,
377- new Normal ( 1 , 0 , 0 ) ,
378- new Normal ( 1 , 0 , 0 ) ,
379- } ,
380- FaceColor = new Color ( 0.2f , 0.9f , 0.9f , 1.0f ) , // face color
381- } ,
382- new Face ( )
383- {
384- Corners = new List < int > { 2 , 6 , 4 } ,
385- Normals = new List < Normal >
386- {
387- new Normal ( 1 , 0 , 0 ) ,
388- new Normal ( 1 , 0 , 0 ) ,
389- new Normal ( 1 , 0 , 0 ) ,
390- } ,
391- FaceColor = new Color ( 0.2f , 0.9f , 0.9f , 1.0f ) , // face color
392- } ,
393- new Face ( )
394- {
395- Corners = new List < int > { 1 , 3 , 5 } ,
396- Normals = new List < Normal >
397- {
398- new Normal ( 0 , - 1 , 0 ) ,
399- new Normal ( 0 , - 1 , 0 ) ,
400- new Normal ( 0 , - 1 , 0 ) ,
401- } ,
402- FaceColor = new Color ( 0.9f , 0.9f , 0.2f , 1.0f ) , // face color
403- } ,
404- new Face ( )
405- {
406- Corners = new List < int > { 3 , 7 , 5 } ,
407- Normals = new List < Normal >
408- {
409- new Normal ( 0 , - 1 , 0 ) ,
410- new Normal ( 0 , - 1 , 0 ) ,
411- new Normal ( 0 , - 1 , 0 ) ,
412- } ,
413- FaceColor = new Color ( 0.9f , 0.9f , 0.2f , 1.0f ) , // face color
414- } ,
415- new Face ( )
416- {
417- Corners = new List < int > { 2 , 3 , 6 } ,
418- Normals = new List < Normal >
419- {
420- new Normal ( - 1 , 0 , 0 ) ,
421- new Normal ( - 1 , 0 , 0 ) ,
422- new Normal ( - 1 , 0 , 0 ) ,
423- } ,
424- FaceColor = new Color ( 0.9f , 0.2f , 0.9f , 1.0f ) , // face color
425- } ,
426- new Face ( )
427- {
428- Corners = new List < int > { 3 , 7 , 6 } ,
429- Normals = new List < Normal >
430- {
431- new Normal ( - 1 , 0 , 0 ) ,
432- new Normal ( - 1 , 0 , 0 ) ,
433- new Normal ( - 1 , 0 , 0 ) ,
434- } ,
435- FaceColor = new Color ( 0.9f , 0.2f , 0.9f , 1.0f ) , // face color
436- } ,
437- new Face ( )
438- {
439- Corners = new List < int > { 4 , 5 , 6 } ,
440- Normals = new List < Normal >
441- {
442- new Normal ( 0 , 0 , - 1 ) ,
443- new Normal ( 0 , 0 , - 1 ) ,
444- new Normal ( 0 , 0 , - 1 ) ,
445- } ,
446- FaceColor = new Color ( 0.2f , 0.2f , 0.2f , 1.0f ) , // face color
447- } ,
448- new Face ( )
449- {
450- Corners = new List < int > { 5 , 7 , 6 } ,
451- Normals = new List < Normal >
452- {
453- new Normal ( 0 , 0 , - 1 ) ,
454- new Normal ( 0 , 0 , - 1 ) ,
455- new Normal ( 0 , 0 , - 1 ) ,
456- } ,
457- FaceColor = new Color ( 0.2f , 0.2f , 0.2f , 1.0f ) , // face color
458- } ,
459- new Face ( )
460- {
461- Corners = new List < int > { 4 , 6 , 8 } ,
462- Normals = new List < Normal >
463- {
464- new Normal ( 0 , 0 , 1 ) ,
465- new Normal ( 0 , 0 , 1 ) ,
466- new Normal ( 0 , 0 , 1 ) ,
467- } ,
468- FaceColor = new Color ( 0.5f , 0.5f , 0.5f , 1.0f ) , // face color
469- } ,
470- new Face ( )
471- {
472- Corners = new List < int > { 5 , 7 , 8 } ,
473- Normals = new List < Normal >
474- {
475- new Normal ( 0 , 0 , 1 ) ,
476- new Normal ( 0 , 0 , 1 ) ,
477- new Normal ( 0 , 0 , 1 ) ,
478- } ,
479- FaceColor = new Color ( 0.5f , 0.5f , 0.5f , 1.0f ) , // face color
480- } ,
481- new Face ( )
482- {
483- Corners = new List < int > { 6 , 7 , 8 } ,
484- Normals = new List < Normal >
485- {
486- new Normal ( 0 , 0 , 1 ) ,
487- new Normal ( 0 , 0 , 1 ) ,
488- new Normal ( 0 , 0 , 1 ) ,
489- } ,
490- FaceColor = new Color ( 0.5f , 0.5f , 0.5f , 1.0f ) , // face color
491- } ,
492- } ,
493- } ;
494-
495- var meshGeom = ElementDataModel . CreateMeshGeometry ( new GeometryProperties ( meshObjWithColor , "Mesh With Color" ) ) ;
496- var meshElement = data . AddElement ( new ElementProperties ( "Mesh1" , "SampleMesh" , "Mesh" , "Mesh" , "In memory mesh" ) ) ;
497- data . SetElementGeometryByElement ( meshElement , new List < ElementGeometry > { meshGeom } ) ;
498-
499- var complexMeshGeom = ElementDataModel . CreateMeshGeometry ( new GeometryProperties ( complexMesh , "Complex Mesh With Color" ) ) ;
500- var complexMeshElement = data . AddElement ( new ElementProperties ( "ComplexMesh" , "ComplexSampleMesh" , "Mesh" , "Mesh" , "Complex In memory mesh" ) ) ;
501- data . SetElementGeometryByElement ( complexMeshElement , new List < ElementGeometry > { complexMeshGeom } ) ;
239+ var newMeshElement = data . AddElement ( new ElementProperties ( "MeshEElement" , "SampleMesh" , "GenericsMesh" , "GenericMesh" , "Mesh Object" ) ) ;
240+ var newMeshGeometry = new List < ElementGeometry > ( ) ;
241+ var filePathMesh = $ "{ Path . GetDirectoryName ( Assembly . GetExecutingAssembly ( ) . Location ) } \\ InputStepFile\\ mesh1.obj";
242+ newMeshGeometry . Add ( ElementDataModel . CreateGeometry ( new GeometryProperties ( filePathMesh , commonRenderStyle ) ) ) ;
243+ data . SetElementGeometryByElement ( newMeshElement , newMeshGeometry ) ;
502244 }
503245
504246 public void AddIFCGeometry ( ElementDataModel data )
@@ -693,47 +435,11 @@ public void AddElementsForExchangeUpdate(ElementDataModel data)
693435 data . SetElementGeometryByElement ( newBRep , newBRepGeometry ) ;
694436
695437 //Add Element with Mesh Geometry
696-
697- var meshObjWithColor = new Autodesk . GeometryUtilities . MeshAPI . Mesh ( )
698- {
699- MeshColor = new Color ( 0.9f , 0.9f , 0.9f , 1.0f ) , // mesh body color
700- Vertices = new List < Vertex >
701- {
702- new Vertex ( 0.0 , 0.0 , 0.0 ) ,
703- new Vertex ( 1.0 , 0.0 , 0.0 ) ,
704- new Vertex ( 0.0 , 1.0 , 0.0 ) ,
705- new Vertex ( 1.0 , 1.0 , 0.0 ) ,
706- } ,
707- Faces = new List < Face >
708- {
709- new Face ( )
710- {
711- Corners = new List < int > { 0 , 1 , 2 } ,
712- Normals = new List < Normal >
713- {
714- new Normal ( 0 , 0 , 1 ) ,
715- new Normal ( 0 , 0 , 1 ) ,
716- new Normal ( 0 , 0 , 1 ) ,
717- } ,
718- FaceColor = new Color ( 0.2f , 0.2f , 0.9f , 1.0f ) , // face color
719- } ,
720- new Face ( )
721- {
722- Corners = new List < int > { 2 , 1 , 3 } ,
723- Normals = new List < Normal >
724- {
725- new Normal ( 0 , 0 , 1 ) ,
726- new Normal ( 0 , 0 , 1 ) ,
727- new Normal ( 0 , 0 , 1 ) ,
728- } ,
729- FaceColor = new Color ( 0.9f , 0.9f , 0.2f , 1.0f ) , // face color
730- } ,
731- } ,
732- } ;
733-
734- var meshGeom = ElementDataModel . CreateMeshGeometry ( new GeometryProperties ( meshObjWithColor , "Mesh With Color" ) ) ;
735- var meshElement = data . AddElement ( new ElementProperties ( "Mesh3" , "SampleMesh" , "Mesh" , "Mesh" , "In memory mesh with Color" ) ) ;
736- data . SetElementGeometryByElement ( meshElement , new List < ElementGeometry > { meshGeom } ) ;
438+ var newMeshElement = data . AddElement ( new ElementProperties ( "MeshElementUpdate" , "SampleMesh" , "GenericsMeshUpdate" , "GenericMeshUpdate" , "Mesh Object Update" ) ) ;
439+ var newMeshGeometry = new List < ElementGeometry > ( ) ;
440+ var filePathToMesh = $ "{ Path . GetDirectoryName ( Assembly . GetExecutingAssembly ( ) . Location ) } \\ InputStepFile\\ mesh2.obj";
441+ newMeshGeometry . Add ( ElementDataModel . CreateGeometry ( new GeometryProperties ( filePathToMesh , commonRenderStyle ) ) ) ;
442+ data . SetElementGeometryByElement ( newMeshElement , newMeshGeometry ) ;
737443 }
738444
739445 private void AddPrimitivePolylineGeometry ( ElementDataModel dataModel )
@@ -742,7 +448,7 @@ private void AddPrimitivePolylineGeometry(ElementDataModel dataModel)
742448 var polyLineElementGeometry = new List < ElementGeometry > ( ) ;
743449 var geomContainer = new GeometryContainer ( )
744450 {
745- Curves = new List < Curve > ( )
451+ Curves = new CurveArray ( )
746452 {
747453 new Polyline ( )
748454 {
@@ -753,9 +459,9 @@ private void AddPrimitivePolylineGeometry(ElementDataModel dataModel)
753459 new Point3d ( 12.5 , 4 , 0 ) ,
754460 new Point3d ( 4.5 , 4 , 0 ) ,
755461 new Point3d ( 11.25 , 0 , 0 )
756- } ,
757- } ,
758- } ,
462+ }
463+ }
464+ }
759465 } ;
760466
761467 polyLineElementGeometry . Add ( ElementDataModel . CreatePrimitiveGeometry ( new GeometryProperties ( geomContainer , commonRenderStyle ) ) ) ;
0 commit comments