Autore |
Discussione  |
arri
Utente Master
Regione: Lombardia
14951 Messaggi |
Inserito il - 08 novembre 2012 : 18:48:55
|
Messaggio inserito da Jarjarfix1
Mi sa che sono negato su queste cose... Allora: Ho provato a cerare il file chiamato arearon.lisp inserendo le stringhe che hai riportato sopra. ho caricato il lisp in autocad, ma quando lancio il comando arearon mi esce la scritta sottostante.
Funzione annullataDigitare il numero di operazioni da annullare o [Auto/Controllo/INIzio/Fine/Segno/INDietro] <1>:
Ps. Ho autocad 2012 non so se centra qualcosa!
mancano alcuni underscore alle risposte dei comandi, per la versione italiana usa questo
Scarica allegato:
arearon.rar 2,08 KB |
Modificato da - arri in data 08 novembre 2012 18:50:45 |
 |
|
Terminator
Utente Master
725 Messaggi |
Inserito il - 08 novembre 2012 : 22:16:49
|
Sarebbe bello effettuare i calcoli dell'area non solo con polilinee chiuse, cerchi, ellissi, ma anche con aree formate da entità varie. Per scrivere l'area singola all'interno dell'entità effettivamente basta usare la funzione vla-getboundingbox, per le aree chiuse formate da entità che non sono le precedenti bisognerebbe procedere in altra maniera. |
 |
|
Aniello Annunziata
Amministratore

Regione: Campania
Prov.: Napoli
Città: San Giuseppe Vesuviano
2302 Messaggi |
Inserito il - 09 novembre 2012 : 09:48:24
|
L'idea potrebbe essere di creare un retino (fittizio) con la funzione addHatch, passando gli oggetti selezionati in VBA ho l'esempio che è questo:
Sub Example_AddHatch()
' This example creates an associative gradient hatch in model space.
Dim hatchObj As AcadHatch
Dim patternName As String
Dim PatternType As Long
Dim bAssociativity As Boolean
' Define the hatch
patternName = "CYLINDER"
PatternType = acPreDefinedGradient '0
bAssociativity = True
' Create the associative Hatch object in model space
Set hatchObj = ThisDrawing.ModelSpace.AddHatch(PatternType, patternName, bAssociativity, acGradientObject)
Dim col1 As AcadAcCmColor, col2 As AcadAcCmColor
Set col1 = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.18")
Set col2 = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.18")
Call col1.SetRGB(255, 0, 0)
Call col2.SetRGB(0, 255, 0)
hatchObj.GradientColor1 = col1
hatchObj.GradientColor2 = col2
' Create the outer boundary for the hatch (a circle)
Dim outerLoop(0 To 0) As AcadEntity
Dim center(0 To 2) As Double
Dim radius As Double
center(0) = 3: center(1) = 3: center(2) = 0
radius = 1
Set outerLoop(0) = ThisDrawing.ModelSpace.AddCircle(center, radius)
' Append the outerboundary to the hatch object, and display the hatch
hatchObj.AppendOuterLoop (outerLoop)
hatchObj.Evaluate
ThisDrawing.Regen True
End Sub
In pratica si potrebbe usare la funzione (ssget) per selezionare oggetti da passare alla funzione (vla-addhatch) una votla ottenuta la hatch si potrebbero interrogare i dati (area e perimetro, centroide, assi principali di inerzia e momenti di inerzia) e quindi cancellare l'entità.
|
Aniello Annunziata Staff di CADLandia www.cadlandia.com aniello.annunziata@cadlandia.com |
 |
|
Jarjarfix1
Utente Master
Regione: Trentino - Alto Adige
Prov.: Trento
Città: Trento
275 Messaggi |
Inserito il - 09 novembre 2012 : 10:21:24
|
Mitico Arri. Grazie mille funziona alla perfezione. |
 |
|
arri
Utente Master
Regione: Lombardia
14951 Messaggi |
Inserito il - 09 novembre 2012 : 10:33:21
|
prego  |
 |
|
Terminator
Utente Master
725 Messaggi |
Inserito il - 09 novembre 2012 : 12:15:15
|
Così dovrebbe andare... Le polilinee provvisorie le usavo per il calcolo delle aree singole con un punto di selezione all'interno, in sostanza non ho fatto altro che scrivere al centro della bounding box della polilinea provvisoria, l'area singola estrapolata. Per quanto concerne il testo, non conoscendo la sua altezza, ho usato la variabile che mi rappresenta l'altezza della vista diviso 45.
x Aniello: ringrazio per il suggerimento ma ho preferito usare la polilinea, molto più immediato
Scarica allegato:
areat.zip 2,24 KB |
Modificato da - Terminator in data 09 novembre 2012 12:21:10 |
 |
|
Giuseppe Mauro
Amministratore

Regione: Campania
Prov.: Napoli
2707 Messaggi |
Inserito il - 10 novembre 2012 : 13:06:51
|
Wow Aniello... ma allora ci segue ancora!
Mi sento meno solo  |
 |
|
Riccardo Accordino
Nuovo Arrivato
Prov.: Bologna
Città: Bologna
1 Messaggi |
Inserito il - 09 marzo 2018 : 12:03:12
|
Ciao, come mai su autocad 2015 non funziona niente? |
 |
|
Giuseppe Mauro
Amministratore

Regione: Campania
Prov.: Napoli
2707 Messaggi |
Inserito il - 11 marzo 2018 : 19:51:15
|
Forse è il tuo pc |
 |
|
tuxon
Nuovo Arrivato
1 Messaggi |
Inserito il - 02 luglio 2018 : 23:43:35
|
Buonasera a tutti, è il mio primo post. Da poco ho iniziato a conoscere la programmazione Lisp, che sembra interessantissima per risparmiare tempo a lavoro.
Ho provato un paio di lisp per le aree, che vorrei pian piano personalizzare.
Ho provato ad utilizzare l'Arearon di questa discussione, veramente utile.
Sarebbe possibile creare, invece che testi, dei blocchi con attributi da poter poi estrapolare?
Vi ringrazio |
Modificato da - tuxon in data 02 luglio 2018 23:49:58 |
 |
|
Discussione  |
|