• 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.

Novas funções

  • Criador do tópico Criador do tópico micgiul
  • Start date Start date

micgiul

Guest
Olá a todos!

Estou a brincar com o Lisp há uns dias.

Encontrei uma macro, exportando a árvore da estrutura para se destacar.
Eu também fiz alguma variação e hoc entendi bastante como funciona.

Agora eu também queria adicionar um campo com peso.
Procurei pela função do tipo sd no kit de inintegração, que devolveria meu peso, mas encontrei apenas aquele que retorna a densidade sd-inq-part-density.

Então eu pensei que se eu encontrei um retornando o volume, era o suficiente para multiplicar. .

Não consegui encontrar, então encontrei um macro lisp que devolve a densidade e a massa de um grupo.

para encontrar a densidade usar a função acima, para encontrar o peso em vez usar:
(sd-call-cmds(get_vol_prop :for_part :part obj :tol :percent_tol 10 :mass)

A minha pergunta é:
onde saltou função furoi get_vol_prop?

Eu anexo a macro à integridade.

Obrigado.
Michael.
 

Anexos

em moedling na parte do menu de cálculo você encontra o volume, bem como a densidade de massa baricentro e ltro...
 
rale como sempre para a resposta.

Eu sei que há a função de cálculo da parte de modelagem, mas se eu quiser lembrar essas funções no lisp, onde eu encontrar, a descrição dos vários comandos.

porque eu gostaria de completar uma macro que eu estou fazendo que além do distinto me atrai também seus pesos.

Olá e obrigado
Michael.
 
(em pacote:prova)
(use-package :oli)

(sd-defdialog 'list_density

:dialog-title "lista di massa e densita"

:variáveis
'
(assy :value-type :assembly :modifs :nil :initial-value (sd-pathname-to-obj "/") :title "gruppo")
(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)
)

:funções locais
'
(doit)
(display " massa : densita : nome parte ")
(exibir============================================================================================================================================================================================================================================================ ===============)
(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-sys-to-user-units:density (sd-inq-part-density obj)))
(setf mas (sd-sys-to-user-units :mass (sd-call-cmds(get_vol_prop :for_part obj :tol :percent_tol 10 :mass))))
(display (formato nil "~6,6f : ~6,6f : ~a" mas dens (sd-inq-obj-basename obj)))
(exibir ")
()
)
; (fit_vp "vport1")
(update_screen)
)
)

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

:ok-action
'(doit)
)

(defun jb-inq-obj-tree-list (obj)
(cons obj
(aplicar)
(mapcar)
(sd-inq-obj-children obj)
)
)
)
)
 

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