• このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

cambiare il 層

  • Thread starter Thread starter Angelo2449
  • Start date Start date

Angelo2449

Guest
salve a tutti,
vorrei realizzare un comando che cambi il piano a tutti gli elementi "cerchio" di un disegno.
se fosse possible vorrei che il comando influisse sui cerchi che fanno parte di un certo layer"
le mie attuali conoscenze del lisp mi consigliano l'aiuto di un gentile volenteroso!
grazie.
 
Code:
(defun c:chgcirclelayer(/ sel layerdest layer)
    (setq layerdest (getstring "\nlayer di destinazione: "))
    (setq layer (getstring "\nlayer: "))
    (if (= layer "")
        (setq layer "*")
    )
    (command "_layer" "_m" layerdest "")   
    (setq sel (ssget "x" (list (cons 0 "circle") (cons 8 layer))))
    (if (/= sel nil)
        (command "_change" sel "" "_pr" "_la" layerdest "")
    )   
)

layer di destinazione: se non esiste non ha importanza, la routine lo crea a prescindere.
layer: puoi indicare anche più layer contemporaneamente, basta separarli dalla virgola; es.: muri,prospetti
 
grazie rpor66, perfetto come sempre!
se anziché il piano, volessi cambiare la dimensione ovvero il diametro?
grazie.
 
Code:
(defun c:chgdiamcircle(/ sel c n)
    (setq diam (getreal "\ndiametro: "))   
    (setq sel (ssget "x" (list (cons 0 "circle"))))
    (if (/= sel nil)
        (progn
            (setq c 0)
            (repeat (sslength sel)
                (setq n (ssname sel c))       
                (vlax-put-property (vlax-ename->vla-object n) 'radius (/ diam 2.0))
                (setq c (1+ c))
            )
        )
    )   
)
 
questo problema si poteva risolvere velocemente anche con isolay e _.qselect (selezione rapida)
 

Forum statistics

Threads
46,674
Messages
380,976
Members
2
Latest member
loop80
このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

Members online

No members online now.
Back
Top