Vai al contenuto

Recommended Posts

Salve gente :D

Intanto...Buon 2012 a tutti!!!!

Ringrazio ancora Emigrato e Gp per l'enorme aiuto datomi nella mia precedente discussione. Mi rivolgo ancora a loro e a chiunque volesse dare una mano!

Avrei bisogno (se possibile) di un lispino che mi snellisca di parecchio il lavoro. Mi spiego:

centinaia di solidi da dover svuotare delle sole facce (superiore e inferiore)in modo tale da lasciare esternamente una sorta di cordolo dello spessore di volta in volta indicato.

Attualmente sto procedendo laboriosamente così: A solidi estrusi, attivo il comando "svuota" seleziono un solido, rimuovo faccia superiore e inferiore, indico distanza di svuotamento e ottengo il mio cordoletto.

Volevo sapere se si può ottenere un lisp capace di fare questa operazione simultaneamente su più solidi selezionati (senza dover selezionare un solido per volta), in modo che autocad provveda automaticamente a rimuovere le facce indicate, magari dando solamente, in unica istanza, la distanza di svuotamento valevole poi per tutta la categoria di solidi selezionata. Mi aiuterebbe davvero molto perchè ho centinaia di solidi da dover svuotare per ottenere un "cordoletto" effetto tetto piano.

Grazie mille :)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

arri, simone82 e tristan saranno sicuramente meglio di me nell'aiutarti peró, intanto prova a farti una macro che forse te la cavi da subito

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Provato a fare la macro utilizzando il registratore di azioni. Risultato pessimo.

Registro l'azione - nella console di seguito esce: macrodiazioni001

sv (per svuotare)

selezione oggetti (e seleziono il mio solido)

selezione oggetti (rimuovo prima faccia)

selezione oggetti (rimuovo seconda faccia)

invio

digito distanza di svuotamento

invio

Ok ora il solido è svuotato come serve a me, ma quando vado a riprodurre l'azione, intanto, esce subito una schermata che mi dice di non aver selezionato alcun solido, e mi fa scegliere tra 3 opzioni di procedura, ok, scelgo di mettere in pausa la riproduzione per selezionare i solidi. Adesso però mi permette di selezionare e procedere alla riproduzione, ma posso selezionare solo un solido alla volta, e comunque sia la riproduzione si interrompe da subito facendo uscire un messaggio di errore: "si è verificato un errore relativo alla macro di azioni durante la riproduzione" offset annullato per il corpo, parola chiave dell'opzione non valida, ecc...

:)che fò??!!Suggerimenti?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

GP e' l'omo de' miracoli, ma stavolta (e spero di sbagliarmi) mancano gli strumenti idonei.

Qui si tratta di fare un programma che cicli fra N oggetti di tipo 3Dsolid, asportando loro soffitto e pavimento, e applicando una shell di spessore prefissato: manco Mandrake ci riuscirebbe, fidati.

Senza scomodare Sua Maesta' Lisp, ci sarebbe una scappatoia rudimentale, ma dimmi gentilmente:

1] e' importante che gli N solidi mantengano il proprio spessore variabile, o si puo' dare uno spessore identico a tutti?

2] il cordolo deve avere per forza un offset verso l'intradosso, o potrebbe stare a cavallo del confine di base?

smile.gif

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ciao Emigrato :) piacere di risentirti!

Beh, per lo spessore, poco importa, li sto facendo orientativamente 0.1 , quindi può anche essere fisso come valore.

Per quanto riguarda la seconda domanda, la risposta è rigorosamente intradosso. :)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Dovete avere pazienza e spiegarmi, come fareste con vostra nonna, cosa si vuole ottenere.

Un'immagine "prima e dopo" sarebbe l'ideale. :P

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Utilizzo il comando "svuota" sui solidi per svuotarne le facce e ottenere i solidi in figura.

P.S. questa sarebbe l'operazione più laboriosa, perché devo applicare il comando svuota singolarmente a ciascun solido senza poter intervenire su una moltitudine. Quindi selezionare il solido, rimuoverne le due facce e digitare l'offset di svuotamento. Operazione che devo fare a ripetizione su ogni singolo solido :(

Sarebbe ottimo se si potesse fare un lisp, che dicesse ad autocad di fare questo su un gruppo di solidi selezionato, escludendo automaticamente faccia superiore ed inferiore (ovviamente in riferimento alla posizione dell'ucs) e poi digitare un offset di svuotamento.

post-43414-0-99440000-1325518934_thumb.j

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Quindi, devi creare una specie di parapetto appoggiato al piano superiore degli edifici o "fluttuante" come le aureole dell'immagine?

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

no no , appoggiato stile parapetto, nell'immagine ho lasciato esploso per far capire che poi sono solidi che devo poggiare lì

Per me l'importante è ottenere i solidi svuotati, evitando di farli uno per uno, essendo loro qualche migliaio!


Modificato da koram80

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Ok, visto però che in questi giorni ho esagerato :blink: , indica per favore il tuo caso:

1) Selezionare i solidi, dichiarare lo spessore e svuotarli.

2) Selezionare i solidi, dichiarare spessore ed altezza del "parapetto" e posizionarlo sopra.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
visto però che in questi giorni ho esagerato

In vita mia non sono mai stato cosi' contento di essermi sbagliato, caro il mio Mandrake Padano: sei il piu' grande di tutti, e basta.

smile.gif

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

...contento di essermi sbagliato...

Aspetta a dirlo...

___________________________________________________

Koram, due o tre cosette:

- prova su gruppi di solidi, non su tutto il dwg

- non c'è controllo sull'indicazione idonea dell'offset, quindi attento al valore che indichi

- I solidi devono essere appoggiati al piano 0,00 e avere forma rettangolare o comunque derivata dall'estrusione di poligoni convessi, se così non fosse il lisp andrebbe modificato in alcune parti.

- In caso di interruzione digita RIP per ripristinare la situazione precedente al lancio della procedura

:)

Mandrake_the_magician.jpg

lispino_per_snellire_di_parecchio_il_lavoro_di_koram80.zip

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Buongiorno!

Allora Gp :) ho provato il lisp

Se disegno oggetti in piano, ovviamente il lisp funziona a dovere, ottimo!

Purtroppo il lavoro che cerco, richiede che io parta da regioni o polilinee derivanti dalle facce superiori di solidi imm.1 e 2 (che sarebbero le casette per intenderci) che ovviamente hanno altezze differenti.

Ci troviamo quindi in una situazione dove i parapetti dei tetti da generare, sono solidi a differenti quote, che, una volta svuotati, riposiziono velocemente sui solidi di partenza. Questo mi snellirebbe di parecchio il lavoro.

Se invece parto da solidi generati sul piano zero, alla fine mi trovo, si a generare velocemente dei solidi svuotati, ma poi dovrei posizionarmeli uno per uno alle differenti quote (delle facce superiori dei solidi "casetta") imm.4

Con un conseguente rallentamento di tutta la procedura.

Mago, dimmi se si può ovviare a questo problema (ovviamente non voglio abusare del tempo di nessuno) se c'è da impazzire lasciamo perdere tutto in partenza ;)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Funziona, perfino su solidi cilindrici, su quelli rastremati e addirittura sui concavi (e non solo convessi).

Purtroppo non crea parapetti, bensi' trafora il solido da parte a parte...

In sostanza, Koram vuole una "corona" in cima ad ogni edificio "pieno".

smile.gif


Modificato da Emigrato

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

...Ci troviamo quindi in una situazione dove i parapetti dei tetti da generare, sono solidi a differenti quote, che, una volta svuotati, riposiziono velocemente sui solidi di partenza...

Mi domando allora perchè non hai preferito il "caso 2"!!! :blink2:

Funziona, perfino su solidi cilindrici, su quelli rastremati e addirittura sui concavi (e non solo convessi).

E' un caso, il lisp effettua uno zoom sulle estensioni di una polilinea chiusa, dopo di che esegue un offset interno della stessa prendendo come "punto sul lato di cui eseguire l'offset" il centro dello schermo. Con una forma concava tale punto potrebbe non essere all'interno della polilinea.

Purtroppo non crea parapetti, bensi' trafora il solido da parte a parte...

In sostanza, Koram vuole una "corona" in cima ad ogni edificio "pieno".

E' quello che serve a Koram, che ha indicato il "caso 1" (su mia richiesta del 02/01/2012 ore 19:00)

:ph34r: :ph34r: :ph34r:

Con piccole modifiche il lisp può ora trattare solidi che stanno nel range di quota tra -10000 e +20000 unità.

Proprio per questo, nel caso di offset esagerato e/o blocco della routine, ti accorgi subito su quale solido è avvenuto il break. :devil:

:ph34r: :ph34r: :ph34r:

lispino_per_snellire_di_parecchio_il_lavoro_di_koram80.zip


Modificato da GP.

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Emi...a me va bene anche così com'è, che il solido sia bucato da parte a parte, semplicemente è importante che riesca a svuotare solidi che si trovano a differenti quote....in tal modo, i solidi ricavati dal lavoro del lisp, li riposiziono perfettamente (e in unico click) sui solidi di partenza :)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Miei cari :DDD ci siamo...il lisp funziona OTTIMAMENTE!!!

Certo, ogni tanto qualche solido sfugge, ma credo sia problema di quanto detto in precedenza da te GP su come sono stati generati i solidi. Ma questo non è un grosso fastidio, ogni tanto posso anche intervenire manualmente e svuotarlo io se il problemino dovesse ripresentarsi. Fatto sta che in tal senso parecchio del mio lavoro è snellito e vi ringrazio immensamente!

Ps. Emigrato, grazie per presenza e supporto, e soprattutto felice che tu ti sia sbagliato :D

GP. grazie anche a te per la "maestranza" direi che Mandrake ci sta tutto ;)

Spero di risentirvi presto e non solo per usufruire del vostro tempo e delle vostre capacità :D

Grazie ancora e un felice 2012, Koram!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

ahahahahah Ragazzi ho cantato vittoria troppo velocemente, il lisp lo avevo provato su dei solidi rettangolari generati per prova, prima, e una piccola porzione di planimetria, dopo, su solidi semplicissimi...fin lì tutto apposto! Ora che sto facendo il resto, e che le geometrie degli edifici sono più irregolari, la routine spesso fa cilecca :(

Quando un solido è bucato (stile corte) sicuro il lisp non funge, e spesso cmq becca il solido che non riesce a svuotare, anche se sto procedendo a piccoli gruppetti alla volta. ( a volte anche per geometrie semplicissime e regolari)

Quando il comando si interrompe, rimane fisso sulla vista top e la scritta nella barra di comando è:La finestra non è stata specificata correttamente. ; errore: funzione annullata. ( e poi genera i pallini rossi, tipici di quando non è chiuso un contorno)

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Come dice Sir Hillary GP, accertati che i contorni siano convessi (ossia che TUTTI gli angoli interni siano minori di 180°).

Quanto ai solidi tipo corte, quanti ne avrai, due o tre, a meno che tu stia ristrutturando un pezzo di Cina imperiale (che pero' hanno i tetti a pagoda, quindi il problema per Mandrake si complica).

Firmato: l'umile sherpa Tenzing smile.gif

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×