Selezionare dei testi numerici compresi in un intervallo

Kypes

Utente poco attivo
Professione: Geometra
Software: Autocad,Archicad,Photoshop,Revit
Regione: Campania
Salve a tutti, qualcuno di voi è a conoscenza di qualche lisp che consenta di selezionare più testi numerici in un disegno che siano compresi in un determinato intervallo?
 

paolomath

Utente Junior
Professione: Tecnico
Software: Autocad 2014
Regione: Toscana
Un intervallo di cosa?

Intendi un'area dello spazio o un intervallo numerico entro cui cercare tutti i testi del disegno?
 

confutatis

Guest
Prova questo:

Codice:
(defun C:SELNUM (/ intervalloinf intervallosup gru num2 index numero)
 (setq intervalloinf(getreal "\Intervallo inferiore: ")
       intervallosup(getreal "\Intervallo superiore: ")
       gru(ssget '((0 . "TEXT")))
       num2(ssadd)
 )      

 (repeat (setq index(sslength gru))
  (setq numero(ssname gru (setq index(1- index))))

  (if (and (>= (atof (vla-get-Textstring (vlax-ename->vla-object numero))) intervalloinf)
	   (<= (atof (vla-get-Textstring (vlax-ename->vla-object numero))) intervallosup)
      )
   (ssadd numero num2)
  )

 )

 (sssetfirst nil num2) 
 (princ)
)
 

Kypes

Utente poco attivo
Professione: Geometra
Software: Autocad,Archicad,Photoshop,Revit
Regione: Campania
Ciao confutatis, grazie mille per la risposta, in effetti il lisp funziona, ma da qualche problema se l'intervallo è composto da numeri con decimali, ad esempio se impongo come intervallo inferiore 8.5 e quello superiore 12.5 la selezione non è corretta, cioè se è presente 12.8 nei numeri selezionati comprende anche 12.8 nell'intervallo si potrebbe risolvere?
 

confutatis

Guest
Non so cosa dirti, a me non dà quest'errore. Puoi inviare un pezzo di disegno con i numeri incriminati, magari?
 

Kypes

Utente poco attivo
Professione: Geometra
Software: Autocad,Archicad,Photoshop,Revit
Regione: Campania
Hai ragione, ora mi sono accorto che purtroppo nei file dove devo utilizzare questo lisp i numeri che ho da analizzare hanno come separatore decimale la virgola e credo che per questo non ci sia soluzione...
 

Kypes

Utente poco attivo
Professione: Geometra
Software: Autocad,Archicad,Photoshop,Revit
Regione: Campania
Risolto:biggrin:!!!!In pratica a me occorreva questo lisp per individuare l'indice di affollamento di una serie di uffici di cui già conoscevo la superficie ma che riportavano come separatore decimale la virgola. Ho risolto il problema creando le polilinee chiuse dei vani ufficio con il comando CONTORNI, successivamente ho utilizzato il lisp AREARON che mi ha restituito le superfici dei vani in un sol colpo (con il punto come separatore decimale) e successivamente grazie al lisp di confutatis "SELNUM" ho sostituito alle superfici ricadenti negli intervalli che mi interessavano gli indici di affollamento.
Grazie mille a confutatis per la sua disponibilità!:finger:
 

delio

Utente poco attivo
Professione: Geometra
Software: AutoCAD 2016, Archicad
Regione: campania
Risolto:biggrin:!!!!In pratica a me occorreva questo lisp per individuare l'indice di affollamento di una serie di uffici di cui già conoscevo la superficie ma che riportavano come separatore decimale la virgola. Ho risolto il problema creando le polilinee chiuse dei vani ufficio con il comando CONTORNI, successivamente ho utilizzato il lisp AREARON che mi ha restituito le superfici dei vani in un sol colpo (con il punto come separatore decimale) e successivamente grazie al lisp di confutatis "SELNUM" ho sostituito alle superfici ricadenti negli intervalli che mi interessavano gli indici di affollamento.
Grazie mille a confutatis per la sua disponibilità!:finger:

buongiorno, riesumo questo vecchio post per chiederti se puoi passarmi il lisp AREARON, non riesco a trovarlo :|
 

Statistiche forum

Discussioni
58,243
Messaggi
496,430
Utenti registrati
103,247
Ultimo utente registrato
domenico lascaleo

Utenti online

Top