Automatizzare creazione contorni/tratteggi con lisp

snorky

Utente poco attivo
Professione: geometra
Software: autocad
Regione: italia
#1
Buongiorno a tutti,
Come da titolo si cercando il modo per automatizzare la creazione di contorni e tratteggi seguendo questi criteri:
Su un layer ho una serie di polilinee chiuse (mappa catastale)
Su altro layer ho una o più polilinee oppure una polilinea chiusa oppure una regione oppure un tratteggio (dipende da chi mi manda il file... Chiamiamolo frazionamenti)
Su un terzo layer altri elementi inutili
Quel che vorrei è selezionare un solo elemento del layer mappa e gli elementi del layer frazionamenti per "spegnere tutto il resto", l'automatismo consiste nel recuperare i punti che costituiscono l'elemento (esempio polilinea chiusa) e passarli alla selezione ipoligono in modo da selezionare sul layer mappa solo i poligoni che intersecano la linea frazionamento e...
Realizzare contorni o tratteggi (che facendolo a mano obbliga a cliccare all'interno di ogni area....)
Mi potete dire se è fattibile?
Serve molta programmazione o un super niubbo ci può riuscire?
Avete compreso cosa vorrei ottenere? Esiste un modo più semplice per ottenere lo stesso risultato?
Grazie!!!
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, GstarCAD, CadWorx, Excel, Lisp, VBA
Regione: Sicilia
#2
Quello che chiedi è troppo articolato e sicuramente non alla portata di un niubbio.
Individuare le intersezioni tra regioni è fattibile, pensare di dover utilizzare polilinee e/o tratteggi complica tutto.
Il fido mouse credo sia il miglior modo di procedere.
 

snorky

Utente poco attivo
Professione: geometra
Software: autocad
Regione: italia
#3
Ok...
Provo a cambiare approccio, vediamo se cos' è più semplice:
dato un insieme di polilinee (a cui recuperiamo la posizione dei vertici) è possibile recuperare i punti di intersezione e usarli per generare nuovi contorni/regioni/tratteggi
c'è forse da filtrare i valori con della trigonometria per verificare se un punto fa o meno parte del nuovo contorno?
 

Allegati

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, GstarCAD, CadWorx, Excel, Lisp, VBA
Regione: Sicilia
#4
Autocad non mette a disposizione comandi per eseguire operazione booleane, vedi unione, sottrazione o intersezione, lo fa solo con regioni o solidi.
La strada da seguire potrebbe essere la selezione di tutte le polilinee "catastali", un ciclo per esaminarle singolarmente, trasformandole in regioni, creando le intersezioni con le polilinee "frazionamento" trasformate in regioni, se il risultato è positivo, la parte risultante trasformarle in polilinee pronte per il tratteggio.
Detto così è fattibile, la quantità di software da scrivere è notevole.
 

snorky

Utente poco attivo
Professione: geometra
Software: autocad
Regione: italia
#5
forse ho trovato la via... usando INTERFERENZA (funziona solo in 3d vero?)
vediamo di ricapitolare:
seleziono gli elementi che mi servono (con parametro IP che deve "ricalcare" l'ingombro del "frazionamento") e che saranno sempre polilinee)
estrudo di un valore X (anche solo 1m) sia le particelle sia il frazionamento
con il comando interferenza seleziono il gruppo particelle (le stesse selezionate prima) e come secondo gruppo il frazionamento, una volta che ho le interferenze
flatten (o comando simile) per "rimuovere il 3d lasciando i contorni
fattibile?
 

snorky

Utente poco attivo
Professione: geometra
Software: autocad
Regione: italia
#6
dai che ci sono! (teoricamente.... :p )

selezione della "polilinea di appoggio" (come la chiama confutatis, in una discussione in cui intervieni... bello il lisp SWP)
estrusione degli elementi selezionati
interferenza tra "solido polilinea di appoggio" e gli altri solidi generati con mantenimento dei solidi d'interferenza
cancellazione dei solidi "padri"
esplodi di tutti i solidi d'interferenza
eliminazione di tutte le regioni non giacenti sul piano xy e >0 così da mantenere solo quel che serve

ovviamente per tenere pulito il disegno bisognerebbe generare/spostare gli oggetti su layer specifici

io intento mi metto a studiare!! :D
 

rpor66

Utente Standard
Professione: Programmatore
Software: AutoCad, GstarCAD, CadWorx, Excel, Lisp, VBA
Regione: Sicilia
#7
Non c'é bisogno di creare solidi, bastano le regioni per le operazioni booleane.
 

snorky

Utente poco attivo
Professione: geometra
Software: autocad
Regione: italia
#9
cavolo cavoletto! interferenza non funziona con le regioni! :(
se devo usare le sole booleane standard devo anche "sdoppiare gli elementi perché un primo giro per intersezione mi rimuove le regioni utili, poi tra l'altro il comando sottrai mi fonde tutte le regioni limitrofe (i mappali confinanti) creando un'unica regione... no buono! :(