TuttoCAD Forum

TuttoCAD Forum
[ Home | Registrati | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Album Fotografico | Download | | Cerca | FAQ ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 1 - TuttoCAD Software
 AutoCAD
 Lisp per calcolo aree e scrittura del risultato
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Pagina Precedente
Autore Discussione Precedente Discussione Discussione Successiva
Pagina: di 2

arri
Utente Master


Regione: Lombardia


14951 Messaggi

Inserito il - 08 novembre 2012 : 18:48:55  Mostra Profilo Invia a arri un Messaggio Privato  Rispondi Quotando
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
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 08 novembre 2012 : 22:16:49  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
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.
Torna all'inizio della Pagina

Aniello Annunziata
Amministratore



Regione: Campania
Prov.: Napoli
Città: San Giuseppe Vesuviano


2302 Messaggi

Inserito il - 09 novembre 2012 : 09:48:24  Mostra Profilo Invia a Aniello Annunziata un Messaggio Privato  Rispondi Quotando
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
Torna all'inizio della Pagina

Jarjarfix1
Utente Master


Regione: Trentino - Alto Adige
Prov.: Trento
Città: Trento


275 Messaggi

Inserito il - 09 novembre 2012 : 10:21:24  Mostra Profilo Invia a Jarjarfix1 un Messaggio Privato  Rispondi Quotando
Mitico Arri. Grazie mille funziona alla perfezione.
Torna all'inizio della Pagina

arri
Utente Master


Regione: Lombardia


14951 Messaggi

Inserito il - 09 novembre 2012 : 10:33:21  Mostra Profilo Invia a arri un Messaggio Privato  Rispondi Quotando
prego
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 09 novembre 2012 : 12:15:15  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
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
Torna all'inizio della Pagina

Giuseppe Mauro
Amministratore



Regione: Campania
Prov.: Napoli


2707 Messaggi

Inserito il - 10 novembre 2012 : 13:06:51  Mostra Profilo Invia a Giuseppe Mauro un Messaggio Privato  Rispondi Quotando
Wow Aniello... ma allora ci segue ancora!

Mi sento meno solo
Torna all'inizio della Pagina

Riccardo Accordino
Nuovo Arrivato

Prov.: Bologna
Città: Bologna


1 Messaggi

Inserito il - 09 marzo 2018 : 12:03:12  Mostra Profilo  Invia a Riccardo Accordino un messaggio AOL Invia a Riccardo Accordino un Messaggio Privato  Rispondi Quotando
Ciao, come mai su autocad 2015 non funziona niente?
Torna all'inizio della Pagina

Giuseppe Mauro
Amministratore



Regione: Campania
Prov.: Napoli


2707 Messaggi

Inserito il - 11 marzo 2018 : 19:51:15  Mostra Profilo Invia a Giuseppe Mauro un Messaggio Privato  Rispondi Quotando
Forse è il tuo pc
Torna all'inizio della Pagina

tuxon
Nuovo Arrivato



1 Messaggi

Inserito il - 02 luglio 2018 : 23:43:35  Mostra Profilo Invia a tuxon un Messaggio Privato  Rispondi Quotando
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
Torna all'inizio della Pagina
Pagina: di 2 Discussione Precedente Discussione Discussione Successiva  
Pagina Precedente
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
TuttoCAD Forum © 2001-2010 CADLandia Torna all'inizio della Pagina
Pagina generata in 1,04 secondi.