Andrea Amedei
Guest
Bom dia.
São alguns dias que estou a comer a minha cabeça sem chegar à cabeça. Desde então Muitas vezes preciso executar o recurso sólido que você vê na imagem abaixo em vários buracos, eu estava pensando em criar uma macro que automatizou este processo.
o recurso sólido para construir é um "prisma" que tem como um esboço básico a projeção de um buraco e um círculo maior que tem um diâmetro n vezes maior do que o projetado (n parâmetro para definir). altura de extrusão também é um parâmetro.
para fazer isso, criei uma forma de usuário que você pode ver na figura abaixo. o usuário deve usar os 3 botões em seqüência (seleção de terreno, selecione orifício borda, criar sólido) e as duas caixas de texto da relação d/d e a altura de extrusão do perfil.
Eu admito que eu sei muito bem a programação vba no excel, mas eles estão realmente no início com catia. no momento o que eu fiz é o seguinte:
Botão "selecionar superfície"
privado sub select_surface_button_click_click()
memorando
dim myarray(0) como face
dim strreturn como string
dim part1 como parte
dim partdocument1 como documento de parte
dim myhybridbodies como híbridobodies
set myselection = catia.activedocument.selection
myselection.clear
eu.
strreturn = myselection.selectelement2(array("face"), "select a face:", false)
se strreturn = "normal" então
'vermelho preservar myarray(ubound(myarray) + 1)
set myarray(ubound(myarray)) = myselection.item2(1).value
terminar se
textbox1.text = myarray(0).name
eu.
end sub
botão "selecionar orifício de borda"
privado sub select_edge_button_click_click()
memorando
dim myarray(0) como borda
dim strreturn como string
dim part1 como parte
dim partdocument1 como documento de parte
set myselection = catia.activedocument.selection
myselection.clear
eu.
strreturn = myselection.selectelement2(array("edge"), "select a edge:", false)
se strreturn = "normal" então
'vermelho preservar myarray(ubound(myarray) + 1)
set myarray(ubound(myarray)) = myselection.item2(1).value
terminar se
textbox2.text = myarray(0).name
eu.
end subneste ponto, nas caixas de texto mais longas o nome (?) da superfície e borda selecionada aparece. pressionando "criar sólido" Eu gostaria que o software para construir:
1. um plano de esboço na superfície selecionada (usando o nome no formulário de usuário? )
2. da borda do furo selecionado deriva o diâmetro e seu centro
3. leva a borda do buraco e projeta-o naquele chão
4. cria um novo círculo com o mesmo centro da borda projetada e diâmetro d=n*d
5. sai do esboço
6. extrusar altura definida no formulário de usuário
7. desmarque tudo e limpe toda a forma de usuário para uma nova operação
Espero que alguém me possa ajudar, mesmo com o registro macro, não consigo entender como funciona o programa.
saudações,
Andrea
São alguns dias que estou a comer a minha cabeça sem chegar à cabeça. Desde então Muitas vezes preciso executar o recurso sólido que você vê na imagem abaixo em vários buracos, eu estava pensando em criar uma macro que automatizou este processo.
o recurso sólido para construir é um "prisma" que tem como um esboço básico a projeção de um buraco e um círculo maior que tem um diâmetro n vezes maior do que o projetado (n parâmetro para definir). altura de extrusão também é um parâmetro.


Botão "selecionar superfície"
privado sub select_surface_button_click_click()
memorando
dim myarray(0) como face
dim strreturn como string
dim part1 como parte
dim partdocument1 como documento de parte
dim myhybridbodies como híbridobodies
set myselection = catia.activedocument.selection
myselection.clear
eu.
strreturn = myselection.selectelement2(array("face"), "select a face:", false)
se strreturn = "normal" então
'vermelho preservar myarray(ubound(myarray) + 1)
set myarray(ubound(myarray)) = myselection.item2(1).value
terminar se
textbox1.text = myarray(0).name
eu.
end sub
botão "selecionar orifício de borda"
privado sub select_edge_button_click_click()
memorando
dim myarray(0) como borda
dim strreturn como string
dim part1 como parte
dim partdocument1 como documento de parte
set myselection = catia.activedocument.selection
myselection.clear
eu.
strreturn = myselection.selectelement2(array("edge"), "select a edge:", false)
se strreturn = "normal" então
'vermelho preservar myarray(ubound(myarray) + 1)
set myarray(ubound(myarray)) = myselection.item2(1).value
terminar se
textbox2.text = myarray(0).name
eu.
end subneste ponto, nas caixas de texto mais longas o nome (?) da superfície e borda selecionada aparece. pressionando "criar sólido" Eu gostaria que o software para construir:
1. um plano de esboço na superfície selecionada (usando o nome no formulário de usuário? )
2. da borda do furo selecionado deriva o diâmetro e seu centro
3. leva a borda do buraco e projeta-o naquele chão
4. cria um novo círculo com o mesmo centro da borda projetada e diâmetro d=n*d
5. sai do esboço
6. extrusar altura definida no formulário de usuário
7. desmarque tudo e limpe toda a forma de usuário para uma nova operação
Espero que alguém me possa ajudar, mesmo com o registro macro, não consigo entender como funciona o programa.
saudações,
Andrea