tracciatura.net > 04-08-2019, 05:26 PM
'Variabili
Dim insPoint(2) 'Array di Double
Dim textObj 'Oggetto AcadText
insPoint(0) = 100 'Coordinata X
insPoint(1) = 100 'Coordinata Y
insPoint(2) = 0 'Coordinata Z
'Creo l'oggetto testo AddText Method (ActiveX)
'RetVal = object.AddText(TextString, InsertionPoint, Height)
Set textObj = ThisDrawing.ModelSpace.AddText ("Hello Wolrd!", insPoint, 50)Fabrizio Pieri > 04-11-2019, 03:02 PM
tracciatura.net > 04-11-2019, 09:00 PM
'Variabili
Dim pnt_1(2) 'Array di Double
Dim pnt_2(2) 'Array di Double
Dim raggio 'Integer
Dim lineObj 'Oggetto linea
Dim circObj 'Oggetto cerchio
Dim poliObj 'Oggetto polilinea
Dim arc_Obj 'Oggetto arco
Dim Start_Ang 'Angolo inizio arco
Dim End___Ang 'Angolo fine arco
Dim punti(17) 'Array da 0 a 17 di 6 tris di coordinate xyz per la polilinea
Const pigreco = 3.141592653 'PiGreco
'*** Disegnamo il naso ***
pnt_1(0) = 200 'Coordinata X
pnt_1(1) = 200 'Coordinata Y
pnt_1(2) = 0 'Coordinata Z
pnt_2(0) = 200 'Coordinata X
pnt_2(1) = 300 'Coordinata Y
pnt_2(2) = 0 'Coordinata Z
'Creo l'oggetto lineObj con AddLine Method (ActiveX)
'RetVal = object.AddLine(StartPoint, EndPoint)
Set lineObj = ThisDrawing.ModelSpace.AddLine(pnt_1, pnt_2)
'*** Disegnamo la faccia ***
pnt_1(0) = 200 'Coordinata X
pnt_1(1) = 250 'Coordinata Y
pnt_1(2) = 0 'Coordinata Z
raggio = 250 'Raggio circonferenza
'Creo l'oggetto circObj con ddCircle Method (ActiveX)
'RetVal = object.AddCircle(Center, Radius)
Set lineObj = ThisDrawing.ModelSpace.AddCircle(pnt_1, raggio)
'*** Disegnamo la bocca ***
'Gli angoli vanno scritti in radianti quindi vanno convertiti /180*pigreco
Start_Ang = 200 / 180 * pigreco
End___Ang = 340 / 180 * pigreco
raggio = 150
'Creo l'oggetto AddArc Method (ActiveX)
'RetVal = object.AddArc(Center, Radius, StartAngle, EndAngle)
Set arc_Obj = ThisDrawing.ModelSpace.AddArc(pnt_1, raggio, Start_Ang, End___Ang)
'*** Disegnamo l'occhio sinistro ***
punti(0) = 60: punti(1) = 360: punti(2) = 0
punti(3) = 90: punti(4) = 375: punti(5) = 0
punti(6) = 130: punti(7) = 375: punti(8) = 0
punti(9) = 160: punti(10) = 360: punti(11) = 0
punti(12) = 130: punti(13) = 345: punti(14) = 0
punti(15) = 90: punti(16) = 345: punti(17) = 0
'Creo l'oggetto poliObj con AddPolyline Method (ActiveX)
'RetVal = object.AddPolyline(VerticesList)
Set poliObj = ThisDrawing.ModelSpace.AddPolyline(punti)
'Chiudo la polilinea
poliObj.Closed = True
'*** Ora facciamo l'occhio destro specchiando il precedente ***
Dim mir_poli_Obj 'Oggetto cerchio
'Creo l'oggetto mir_poli_Obj con Mirror Method (ActiveX)
'RetVal = object.Mirror(Point1, Point2)
Set mir_poli_Obj = poliObj.Mirror(pnt_1, pnt_2)tracciatura.net > 04-14-2019, 11:16 PM
'Variabili
Dim c
Dim telaio
Dim layerObj
ThisDrawing.Utility.Prompt "Disegno corremte: " & ThisDrawing.Name
c = 1
For each telaio in ThisDrawing.Layers
ThisDrawing.Utility.Prompt c & " Layer=" & telaio.Name & " Colore=" & telaio.Color & " TipoLinea=" & telaio.Linetype
c = c + 1
Next
'Creiamo un nuovo Layer
Set layerObj = ThisDrawing.Layers.Add("Nuovo_Layer")
'Colore magenta
layerObj.Color = acMagenta
'Tipo linea continua
layerObj.Linetype = "Continuous"
'Impostiamo il nuovo Layer come il corrente
ThisDrawing.ActiveLayer = layerObjtracciatura.net > 04-15-2019, 09:58 PM
'Variabili
Dim c
Dim EntObj
For c = 0 To ThisDrawing.ModelSpace.Count - 1
Set EntObj = ThisDrawing.ModelSpace.Item(c)
ThisDrawing.Utility.Prompt "Entita' " & c & " e' un " & EntObj.ObjectName & "sul layer " & EntObj.Layer
NextdavideB30 > 05-20-2020, 10:37 PM
UNTI() (SETQ PT1(GETPOINT "Inserisci il punto: ")PT2(GETPOINT "Inserisci il punto di quota: ")P1(CAR PT1)P2(CADR PT1)PP1(RTOS P1 2 2)PP2(RTOS P2 2 2)PP(STRCAT "X"PP1" Y"PP2))(COMMAND "DIM1" "direttrice" PT1 PT2 ""PP))
UNTRN() (SETQ PT3(GETPOINT "Inserisci il punto: ")PT4(GETPOINT "Inserisci il punto di quota: ")P3(CAR PT3)P4(CADR PT3)PT6(* 2 P4)PP3(RTOS P3 2 2)PSTR2(RTOS PT6 2 2)PK(STRCAT"X"PSTR2" Z" PP3))(COMMAND "DIM1" "direttrice" PT3 PT4 ""PK))tracciatura.net > 06-10-2020, 02:15 PM
tracciatura.net > 05-09-2023, 10:35 AM
tracciatura.net > 01-14-2024, 05:51 PM
Const acByBlock = 0 'ByBlock
Const acRed = 1 'Red
Const acYellow = 2 'Yellow
Const acGreen = 3 'Green
Const acCyan = 4 'Cyan
Const acBlue = 5 'Blue
Const acMagenta = 6 'Magenta
Const acWhite = 7 'White or Black, by background color
Const acByLayer = 256 'ByLayerDim Data() As String
ReDim Data(0 To 100000)
Dim i as Integer
Dim tmpStringa As String
Open file_full_path For Input As #1
i = 0
Do
Line Input #1, tmpStringa ' Assegna la riga a una variabile.
Data(c) = tmpStringa
i = i + 1
Loop Until EOF(1)
Close #1 'Chiudo il file
ReDim Preserve Data(i-1)Dim Data() 'As String
Dim oFSO 'FileSystemObject
Dim inFile 'File
Dim i 'As Integer
Redim Data(100000)
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set inFile = oFSO.OpenTextFile(file_full_path, ForReading, ASCIIformat)
i = 0
Do while inFile.AtEndOfStream <> true
Data(i) = inFile.ReadLine
i = i + 1
Loop
inFile.Close
Set inFile = nothing
Set oFSO = nothing
ReDim Preserve Data(i-1)jakasspeech8 > 12-18-2024, 12:53 PM
(01-14-2024, 05:51 PM)tracciatura.net Ha scritto: Aggiornamento (14-01-2024)
le costanti non possono essere richiamate, per esempio per cambiare colore in acRed non si può o sai che acRed vale 1 e metti 1 oppure si possono creare costanti co i seguenti valori:
Codice:Const acByBlock = 0 'ByBlock
Const acRed = 1 'Red
Const acYellow = 2 'Yellow
Const acGreen = 3 'Green
Const acCyan = 4 'Cyan
Const acBlue = 5 'Blue
Const acMagenta = 6 'Magenta
Const acWhite = 7 'White or Black, by background color
Const acByLayer = 256 'ByLayer
Anche l'apertura e la lettura/scrittura di un file di testo è differente, mentre in VBA AutoCad usiamo:
Codice:Dim Data() As String
ReDim Data(0 To 100000)
Dim i as Integer
Dim tmpStringa As String
Open file_full_path For Input As #1
i = 0
Do
Line Input #1, tmpStringa ' Assegna la riga a una variabile.
Data(c) = tmpStringa
i = i + 1
Loop Until EOF(1)
Close #1 'Chiudo il file
ReDim Preserve Data(i-1)
per nanoCAD VBS dobbiamo usare un alternativa Scripting.FileSystemObject con questo codice:
Codice:Dim Data() 'As String
Dim oFSO 'FileSystemObject
Dim inFile 'File
Dim i 'As Integer
Redim Data(100000)
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set inFile = oFSO.OpenTextFile(file_full_path, ForReading, ASCIIformat)
i = 0
Do while inFile.AtEndOfStream <> true
Data(i) = inFile.ReadLine
i = i + 1
Loop
inFile.Close
Set inFile = nothing
Set oFSO = nothing
ReDim Preserve Data(i-1)
in entrambi i casi si ottterra un array DATA() con ogni riga del file di testo Atelier Rebul