• Este fórum é a tradução automática de www.cad3d.it/forum1 - a comunidade italiana de design. Vários termos não foram traduzidos corretamente.

densidade 1

  • Criador do tópico Criador do tópico mguerra
  • Start date Start date
ecco la macro
(em pacote:custom)
(use-package :oli)

(show_by_density)

:dialog-title "visualizza per densita"
: toolbox-button nil
:variáveis
'
(assy :value-type :assembly :modifs :nil :initial-value (sd-pathname-to-obj "/") :title "gruppo")
(em sentido:valor-tipo :boolean :toggle-type :wide-toggle :title "clear vp first" :initial-value t)
(mindens :value-type :number :initial-value 0.05 :title "min.densita")
(máximo:valor-tipo :número : valor inicial 99999999999 :título "max.densita")
(count_csn :inicial-value nil :multiple-items t)
(tot :inicial-value nil :multiple-items t)
(p-count :inicial-value nil :multiple-items t)
(a-count :inicial-value nil :multiple-items t)
(obj :modifies :nil)
(vis-risult :value-type :grouped-boolean :initial-value nil :title "lista densita")
("lista densita istanza")
(vis-risult_ist :value-type :grouped-boolean :initial-value t :title "lista istanza")
)

:funções locais
'
(doit)
(se sábio (clear_vp (oli:sd-inq-current-vp)) ()))
; (setf assy (sd-pathname-to-obj "/"))
(setf tot (jb-inq-obj-tree-list asssy))
(dolist (obj tot "done")
(setf vlag 0)
(setf partje (equal (sel_item-type obj) *sd-part-seltype*))
(setf sampje (equal (sel_item-type obj) *sd-assembly-seltype*))
(segundo partje t) (setf vlag 1)()))
(se (equal sampje t) (setf vlag 0)()))
(segundo vlag)
(progn
(setf dens (sd-inq-part-density obj)
(setf dens_ist (sd-inq-part-density obj:instance))
;; (display dens_ist)
; (display (sd-inq-obj-pathname obj))
(se (equal dens nil) (setf dens 0)()))
(se (e (> dens mindens) (< dens maxdens))) (add_to_vp_drawlist (oli:sd-inq-current-vp) obj)()))

(se vis-risult
(se (e (> dens mindens) (< dens maxdens))
(display (format nil "base = ~a : ~10f" (sd-inq-obj-basename obj) dens))))
)
);

(se vis-risult)
(se (não é igual dens_ist nil)
(display (format nil "istanza = ~a : ~a" (sd-inq-obj-basename obj) dens_ist)))
)
); se vis-risult_ist
()
)
(fit_vp (oli:sd-inq-current-vp)
(update_screen)
)
)

;:exclusão mútua
;'(assy)

:ok-action
'(doit)
:help-action '(sd-display-message "visualizza densita")
)


(defun jb-inq-obj-tree-list (obj)
(cons obj
(aplicar)
(mapcar)
(sd-inq-obj-children obj)
)
)
)
)
 
Obrigado, como faço para criar o comando?
ou melhor onde eu tomo a macro?


(Eu tenho a versão 17 de modelagem)
 
Eu acredito que fazer um rotten bastante simplesmente:

- abrir um novo arquivo de texto
- copiar e colar o texto representando a macro
- salvar a extensão do arquivo .lsp
- carregar o arquivo para osd.

o fato de que você tem o 17 é melhor também porque muitos velho lisp, se não engano, começou a ter problemas a partir de 18 em diante
 

Estatísticas do fórum

Tópicos
58,521
Mensagens
499,056
Membros
104,110
Último membro
ChristianR

Membros online

Nenhum membro online agora.
Voltar
Topo