Estrarre il valore del baricentro

joe

Utente Standard
Professione: Disegnatore strutture reticolari spaziali
Software: autocad 2015
Regione: campania
#1
Salve, cerco una routine lisp che possa estrarre il valore del baricentro, di un qualsiasi oggetto, trovato dal comando massprop.
Ringrazio
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, GstarCAD, CadWorx, Excel, Lisp, VBA
Regione: Sicilia
#2
All'interno del lisp trovi il comando Centroid; ritorna una lista con le coordinate x y z del punto centrale e anche il comando Peso con il testo "Il peso è di Kg"
 

Allegati

Ultima modifica:

joe

Utente Standard
Professione: Disegnatore strutture reticolari spaziali
Software: autocad 2015
Regione: campania
#4
Scusa ma il codice seguente, che mi servirebbe per rilevare il baricentro di un solido, mi da come risultato sulla riga di comando: 0.0.0.0.0


(defun C:ba (/ FR x y z txt Peso Nomefile)
(setq Nomefile "C:/Users/Salvatore/MassProp.mpr")
(setq Ent (car (entsel "\nSeleziona solido: ")))
(command "_massprop" Ent "" "_Y" Nomefile)
(if (/= (findfile Nomefile) nil)
(progn
(setq FR (open Nomefile "r"))
(repeat 9
(setq txt (read-line FR))
)
(setq x (atof (substr txt 26)))
(setq txt (read-line FR))
(setq y (atof (substr txt 26)))
(setq txt (read-line FR))
(setq z (atof (substr txt 26)))
(close FR)
(vl-file-delete Nomefile)
(list x y z)
)
(alert "Problema con la creazione del file")
)
)
 

GP.

Utente Senior
Professione: Nientologo
Software: uozapp
Regione: Vercelli
#6
Prova con:
(setq baricentro (vlax-get (vlax-ename->vla-object (car (entsel "\nSelezionare un solido"))) 'centroid))
 

joe

Utente Standard
Professione: Disegnatore strutture reticolari spaziali
Software: autocad 2015
Regione: campania
#7
Risultato: Selezionare un solido; errore: no function definition: VLAX-ENAME->VLA-OBJECT