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

Extrair parâmetros de um desenho de desktop mecânico

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

Nenma

Guest
Bom dia. Eu tenho um problema em ser capaz de extrair os dados paramétricos dos blocos autocad desktop mecânica na prática eu não posso encontrar onde os parâmetros que regulam o bloco são salvos
o objeto e tipo "amgstdpart"

Infelizmente eu não encontrar e não encontrei nada mesmo nos fÃ3runs autodesk se alguém pode me ajudar a lidar com este problema eu seria muito grato
 
Também queres um código? Se não tiveres as minhas livrarias, podes vê-las? cmq nós tentamos...

Eu anexava a parte padrão "estrutura".... minha ideia era clikkarci sobre e recuperar em uma variável o tamanho que você vê na seção de detalhes sob o item "dimensão"
 

Anexos

  • test.dwg
    test.dwg
    140.3 KB · Visualizações: 7
Desculpe, sem mecânica nem consigo ver o dwg, com cadworx, mas em qualquer caso sem a estrutura dos dados é realmente hostical para entender onde procurar.
 
Bom dia. Eu tenho um problema em ser capaz de extrair os dados paramétricos dos blocos autocad desktop mecânica na prática eu não posso encontrar onde os parâmetros que regulam o bloco são salvos
o objeto e tipo "amgstdpart"

Infelizmente eu não encontrar e não encontrei nada mesmo nos fÃ3runs autodesk se alguém pode me ajudar a lidar com este problema eu seria muito grato
em mecânica com as funções autolisp clássicas (entsel, entget ...) para a consulta dos dados de um objeto obter listas de dados codificados.

Eu anexo um txt em que eu lhe mostro um exemplo de resultados.
Você vai notar que na lista há campos como (300 . "2100") e (300 . "1000") que representam a altura e a largura do componente maior.
 

Anexos

em mecânica com as funções autolisp clássicas (entsel, entget ...) para a consulta dos dados de um objeto obter listas de dados codificados.

Eu anexo um txt em que eu lhe mostro um exemplo de resultados.
Você vai notar que na lista há campos como (300 . "2100") e (300 . "1000") que representam a altura e a largura do componente maior.
Muito obrigado. Fazes ideia de como posso trazer esses valores para um array vba? minha ideia era clicar (getobject) em um ou mais objetos e, em seguida, fazer o código fazer o resto dos cálculos..
 
em mecânica com as funções autolisp clássicas (entsel, entget ...) para a consulta dos dados de um objeto obter listas de dados codificados.

Eu anexo um txt em que eu lhe mostro um exemplo de resultados.
Você vai notar que na lista há campos como (300 . "2100") e (300 . "1000") que representam a altura e a largura do componente maior.
Então estou a fazer progressos, mas não me abandones?

o código abaixo faz um ciclo de todas as peças padrão no projeto "amgstdpart"... mostra o nome e a descrição da vista... agora eu tenho que ser capaz de fazer mais por exemplo para mudar os parâmetros. e mesmo se possível inseri-los no desenho por código....


Código:
público sub provarecuperopartistandard()
Referência da aplicação acadmapplication
dim mcad como acadmapplication
set mcad = thisdrawing.application.getinterfaceobject("acadmauto.acadmapplication")

"Trabalhadores"
dim structmgr como mcad2dstructuremgr
set structmgr = mcad.activedocument.structuremgr2d

Criar Programa de trabalho
dim compgroup1 como mcad2dstdpartcomponentdescritor
set compgroup1 = structmgr.create2dstdpartcomponentdescritor

dim powviews1() como mcadstdpartcomponentviewdescriptor
powviews1 = structmgr.getsinglestdpartviewsformigr

dim view1 como variante
dim powview1 as mcadstdpartcomponentviewdescriptor

para cada view1 em powviews1

«Se type of view1 is mcadstdpartcomponentviewdescriptor then
'set powview' = view1
< < < < )
"Msgbox"
"Enviar se

set powview1 = view1
msgbox view1.fullviewname & "-" & view1.name



Próximo



end sub
 
Então estou a fazer progressos, mas não me abandones?

o código abaixo faz um ciclo de todas as peças padrão no projeto "amgstdpart"... mostra o nome e a descrição da vista... agora eu tenho que ser capaz de fazer mais por exemplo para mudar os parâmetros. e mesmo se possível inseri-los no desenho por código....


Código:
público sub provarecuperopartistandard()
Referência da aplicação acadmapplication
dim mcad como acadmapplication
set mcad = thisdrawing.application.getinterfaceobject("acadmauto.acadmapplication")

"Trabalhadores"
dim structmgr como mcad2dstructuremgr
set structmgr = mcad.activedocument.structuremgr2d

Criar Programa de trabalho
dim compgroup1 como mcad2dstdpartcomponentdescritor
set compgroup1 = structmgr.create2dstdpartcomponentdescritor

dim powviews1() como mcadstdpartcomponentviewdescriptor
powviews1 = structmgr.getsinglestdpartviewsformigr

dim view1 como variante
dim powview1 as mcadstdpartcomponentviewdescriptor

para cada view1 em powviews1

«Se type of view1 is mcadstdpartcomponentviewdescriptor then
'set powview' = view1
< < < < )
"Msgbox"
"Enviar se

set powview1 = view1
msgbox view1.fullviewname & "-" & view1.name



Próximo



end sub
Desculpa. Não te posso ajudar.
em abelhas mecânicas as descrições não estão muito presentes e para entender o que você começa você tem que testar praticamente sua operação.

haverá métodos para obter a propriedade (altura, largura...) diretamente do objeto... (? )
 
Eu poderia ajudá-lo conectando-me à área de trabalho remota, não tendo mecânica não pode ver nada
 

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