bonjour,
voici mon soucis.
Je souhaite dessiner des cubes sur des fichiers DXF (autocad)
l'architecture du fichier étant assez opaque, j'ai trouvé une librairie qui le fait très bien ... pour 1 face !
je vais avoir des milliers de face a tracer.
voici le bout de code utilisé pour tracer une face :
je pensais faire une boucle en faisant juste varier mes chiffres correspondant aux x y z
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 private static void Face3d() { DxfDocument dxf = new DxfDocument(); Face3d face3d = new Face3d(); face3d.FirstVertex = new Vector3(0, 0, 0); face3d.SecondVertex = new Vector3(1, 0, 0); face3d.ThirdVertex = new Vector3(1, 1, 0); face3d.FourthVertex = new Vector3(0, 1, 0); dxf.AddEntity(face3d); dxf.Save("face.dxf"); dxf.Save("face return.dxf"); }
mais le soucis, c'est sur cette ligne
si l'objet a le meme nom, ça bloque :/
Code : Sélectionner tout - Visualiser dans une fenêtre à part dxf.AddEntity(face3d);
j'ai testé :
ça fonctionne et j'ai bien mes deux faces.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 DxfDocument dxf = new DxfDocument(); Face3d face3d = new Face3d(); face3d.FirstVertex = new Vector3(0, 0, 0); face3d.SecondVertex = new Vector3(1, 0, 0); face3d.ThirdVertex = new Vector3(1, 1, 0); face3d.FourthVertex = new Vector3(0, 1, 0); dxf.AddEntity(face3d); Face3d face3d2 = new Face3d(); face3d2.FirstVertex = new Vector3(0, 0, 0); face3d2.SecondVertex = new Vector3(1, 0, 0); face3d2.ThirdVertex = new Vector3(1, 1, 0); face3d2.FourthVertex = new Vector3(0, 1, 0); dxf.AddEntity(face3d2); dxf.Save("face.dxf"); dxf.Save("face return.dxf");
il faut donc que je trouve comment déclarer des miliers de variable de type "Face3d"
j'ai cherché sur le net et on donne des solution a base list ou de dictionnaire.
mais créer la list de nom de variable c'est pas un soucis, c'est plutot que je ne sais pas comment en profiter
si je faisface3d étant une liste de string, ça marche pas :/
Code : Sélectionner tout - Visualiser dans une fenêtre à part Face3d face3d[0] = new Face3d();
si quelqu'un a une idée je suis preneur.
merci
Partager