Bonjour, je suis depuis quelque temps déjà à la recherche d'aide sur l'import de fichier dxf dans un programme vb.net.
j'ai trouvé sur le web un exemple de code source mais j'avoue ne pas bien le comprendre. Quelqu'un pourrait il y apporter des précisions en ajoutant des commentaires.
D'avance merci..
ps : le code complet étant assez long voici juste une petite partie qui, je pense, est suffisante
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84 Imports CADImport Imports System.IO Imports System.Drawing.Imaging Public Class CADImportDemoVb Inherits System.Windows.Forms.Form Private Const OnMouseScroll As Integer = 522 Private lForm As Form2 = New Form2 Private pos As Point = New Point Private curClRect As Rectangle Private wh As Single Private CADParams As CADIterate Private TextFile As ArrayList = New ArrayList Private cX, cY As Integer Private det1 As Boolean Private Orb3D As Orbit3D = New Orbit3D Public Shared FCADImage As CADImage Private scale As Single = 1 Private ScaleRect As SFPoint Private layouts As ArrayList = New ArrayList Private aboutFrm As AboutForm = New AboutForm Private vPt As SFPoint Private old_x, old_y As Integer Private Sub Open_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mOpenFile.Click Dim i As Integer pictureBox1.Visible = False pos = New Point If openFileDialog1.ShowDialog() <> DialogResult.OK Then pictureBox1.Visible = True Return End If If (openFileDialog1.FileName <> Nothing) Then stBar.Panels(0).Text = "Load file..." pnlLayouts.Visible = False scale = 1 FCADImage = Nothing FCADImage = New CADImage FCADImage.Load(openFileDialog1.FileName) End If stBar.Panels(1).Text = "" + CType(scale, String) stBar.Panels(0).Text = Path.GetFileName(openFileDialog1.FileName) For i = 1 To 17 tlbTool.Buttons(i).Enabled = True Next i tlbTool.Buttons(8).Pushed = FCADImage.isDraw3DAxes tlbTool.Buttons(10).Pushed = True tlbTool.Buttons(11).Pushed = False tlbTool.Buttons(12).Pushed = False tlbTool.Buttons(7).Pushed = False tlbTool.Buttons(13).Pushed = True FCADImage.useWinEllipse = False mScale.Enabled = True mSaveFile.Enabled = True Orb3D.cADImage = FCADImage Orb3D.visible = False Orb3D.Disable3dOrbit() pictureBox1.Visible = True 'If pictureBox1.BackColor.Equals(Color.White) Then ' White_Click() ' Else : Black_Click() 'End If ViewLayouts() Form1_Resize(sender, e) pos.X = (Me.ActiveForm.ClientRectangle.Width - curClRect.Width) / 2 pos.Y = (Me.ActiveForm.ClientRectangle.Height - curClRect.Height) / 2 pictureBox1.Invalidate() End Sub Private Sub ViewLayouts() Dim I As Integer If (FCADImage Is Nothing) Then Return cbLayouts.Items.Clear() layouts.Clear() For I = 0 To FCADImage.Layouts.Count - 1 cbLayouts.Items.Add(CType(FCADImage.Layouts(I), CADLayout).name) layouts.Add(FCADImage.Layouts(I)) Next (I) cbLayouts.SelectedIndex = FCADImage.converter.DefaultLayoutIndex FCADImage.CurrentLayout = CType(FCADImage.Layouts(cbLayouts.SelectedIndex), CADLayout) pnlLayouts.Visible = True End Sub
Partager