lisp e comando "grpup"
Moderador: Moderadores
- ederson
- Prata 1/3
- Mensagens: 414
- Registrado em: Qua 21 Jul 2004 12:00:00 am
- Localização: Belo Horizonte
lisp e comando "grpup"
Nobres, alguém sabe se é possível obter o nome de um "group" ao qual o objeto pertença. Tentei tblnext, mas o group não não faz partes das tabelas internas. Também não aparece no entget... Desde já agradeço!!!
Até
Até
Ederson Ambrosio
031 8893-2947
BH-MG
031 8893-2947
BH-MG
DFX 330
Boa tarde
Tente usar o cod abaixo
(SETQ X (ENTGET (CDR (ASSOC 330 (ENTGET (CAR (ENTSEL)))))))
e selecione alguma GROUP
Tente usar o cod abaixo
(SETQ X (ENTGET (CDR (ASSOC 330 (ENTGET (CAR (ENTSEL)))))))
e selecione alguma GROUP
"As respostas dos problemas, geralmente são mais simples que pensamos"
maketreis@itelefonica.com.br
Veja outros artigos http://lautolisp.blogspot.com/
Estou iniciando em blog, mas ja é um começo....
maketreis@itelefonica.com.br
Veja outros artigos http://lautolisp.blogspot.com/
Estou iniciando em blog, mas ja é um começo....
Pastas e Subpastas
Imagine que cada "Entname" seja uma " Pasta do windows "
De acordo com cada Objeto selecionado existem outas pastas= "subpastas"
Ou seja Dentro de uma determinada "Entname" pode existir varias outras Entnames.
t+
De acordo com cada Objeto selecionado existem outas pastas= "subpastas"
Ou seja Dentro de uma determinada "Entname" pode existir varias outras Entnames.
t+
"As respostas dos problemas, geralmente são mais simples que pensamos"
maketreis@itelefonica.com.br
Veja outros artigos http://lautolisp.blogspot.com/
Estou iniciando em blog, mas ja é um começo....
maketreis@itelefonica.com.br
Veja outros artigos http://lautolisp.blogspot.com/
Estou iniciando em blog, mas ja é um começo....
- cracksther
- Diamante
- Mensagens: 1063
- Registrado em: Seg 13 Dez 2004 11:00:00 pm
ederson... Essa foi tão fácil que realmente acho que você ficou com preguiça de olhar as "sub-pastas" (mensionado por laudemir) mas de qualquer forma ai está.
[lsp](setq ent (entget (car (entsel)))
grupo (entget (cdr (assoc 330 ent)))
propGrupo (entget (cdr (assoc 330 grupo)))
nomeGrupo (cdr (assoc 3 propGrupo))
)[/lsp]
Até mais!
[lsp](setq ent (entget (car (entsel)))
grupo (entget (cdr (assoc 330 ent)))
propGrupo (entget (cdr (assoc 330 grupo)))
nomeGrupo (cdr (assoc 3 propGrupo))
)[/lsp]
Até mais!
Marcelo Silva - Cascavel - PR
cracksther@gmail.com
cracksther@gmail.com
- ederson
- Prata 1/3
- Mensagens: 414
- Registrado em: Qua 21 Jul 2004 12:00:00 am
- Localização: Belo Horizonte
Nobres, na verdade não fiquei com preguiça não. É que sou "burro" mesmo, pois fui tentando outros números no "assoc 3". Pois ele me retornava sempres "*A1", o que não era o nome do "group". Depois é que percebi que havia outros "assoc 3" e que um deles continha o nome do "group". Aí sim fiquei cansado e briguei com o Laudemir... rsrsrsrsrs...
Até e obrigado!
Até e obrigado!
Ederson Ambrosio
031 8893-2947
BH-MG
031 8893-2947
BH-MG
- cracksther
- Diamante
- Mensagens: 1063
- Registrado em: Seg 13 Dez 2004 11:00:00 pm
ederson... he he, eu entendo, sei bem como é, as vezes a coisa parece que tem vida própria... quantas vezes também já procurei sem encontrar algo que estava ali, bem na minha frente... mas o importante é não desanimar...
Até mais!
Até mais!
Marcelo Silva - Cascavel - PR
cracksther@gmail.com
cracksther@gmail.com
entsel, Retornar o nome Group
Bom, vamos voltar ao tópico pois......
No momento de uma discussão apenas olhamos com um ponto de vista, porem quando vamos realmente usar os métodos....... daí o ponto de visão muda mesmo....
Estou desenvolvendo umas rotinas e preciso de saber o nome do GRUPO, selecionando por "entsel".
Bom a rotina que o Marcelo enviou realmente retorna o nome do grupo porem ainda não é o nome do objeto selecionado, na verdade o entname "propGrupo" pega o 1º nome do Grupo, mas na verdade este entname tem todos os nomes de todos os grupos do desenho ou seja é um "DICTIONARY"....
Ou seja, mesmo selecionando com ENTSEL um GRUPO, o nome retornado não é o do grupo...
Faça um teste com alguns grupos.... verifique o nome do um Grupo com o comando “GROUP” selecionando com o “FILENAME”, ao selecionar um grupo é retornado na tela um nome
Ao testar a rotina abaixo nem sempre ira retornar o nome do grupo corretamente.
[lsp]
(setq ent (entget (car (entsel)))
grupo (entget (cdr (assoc 330 ent)))
propGrupo (entget (cdr (assoc 330 grupo)))
nomeGrupo (cdr (assoc 3 propGrupo))
)
[/lsp]
A pergunta é como obter o nome real do grupo selecionado a partir de um entsel ou um ssget.
[/code]
No momento de uma discussão apenas olhamos com um ponto de vista, porem quando vamos realmente usar os métodos....... daí o ponto de visão muda mesmo....
Estou desenvolvendo umas rotinas e preciso de saber o nome do GRUPO, selecionando por "entsel".
Bom a rotina que o Marcelo enviou realmente retorna o nome do grupo porem ainda não é o nome do objeto selecionado, na verdade o entname "propGrupo" pega o 1º nome do Grupo, mas na verdade este entname tem todos os nomes de todos os grupos do desenho ou seja é um "DICTIONARY"....
Ou seja, mesmo selecionando com ENTSEL um GRUPO, o nome retornado não é o do grupo...
Faça um teste com alguns grupos.... verifique o nome do um Grupo com o comando “GROUP” selecionando com o “FILENAME”, ao selecionar um grupo é retornado na tela um nome
Ao testar a rotina abaixo nem sempre ira retornar o nome do grupo corretamente.
[lsp]
(setq ent (entget (car (entsel)))
grupo (entget (cdr (assoc 330 ent)))
propGrupo (entget (cdr (assoc 330 grupo)))
nomeGrupo (cdr (assoc 3 propGrupo))
)
[/lsp]
A pergunta é como obter o nome real do grupo selecionado a partir de um entsel ou um ssget.
[/code]
"As respostas dos problemas, geralmente são mais simples que pensamos"
maketreis@itelefonica.com.br
Veja outros artigos http://lautolisp.blogspot.com/
Estou iniciando em blog, mas ja é um começo....
maketreis@itelefonica.com.br
Veja outros artigos http://lautolisp.blogspot.com/
Estou iniciando em blog, mas ja é um começo....
- ederson
- Prata 1/3
- Mensagens: 414
- Registrado em: Qua 21 Jul 2004 12:00:00 am
- Localização: Belo Horizonte
Eh... Dr Lau, sofri na época... mas tá aí.
[lsp](defun obtername_grupo (group_object / ent_name acad_reactors vlx_objetc)
;(setq group_object (car (entsel)))
(setq ent_name (entget group_object))
(if (setq acad_reactors (member '(102 . "{ACAD_REACTORS") ent_name))
(while
(and
(setq acad_reactors (cdr acad_reactors))
(eq (caar acad_reactors) 330)
(eq (vla-get-ObjectName (setq vlx_objetc (vlax-ename->vla-object (cdar acad_reactors)))) "AcDbGroup")
); end of and
(if (equal (cadr acad_reactors) '(102 . "}"))
(setq acad_reactors nil)
); end of if
(setq group_name (vla-get-Name vlx_objetc))
); end of while
); end of if
); end of defun obtername_grupo[/lsp]
[lsp](defun obtername_grupo (group_object / ent_name acad_reactors vlx_objetc)
;(setq group_object (car (entsel)))
(setq ent_name (entget group_object))
(if (setq acad_reactors (member '(102 . "{ACAD_REACTORS") ent_name))
(while
(and
(setq acad_reactors (cdr acad_reactors))
(eq (caar acad_reactors) 330)
(eq (vla-get-ObjectName (setq vlx_objetc (vlax-ename->vla-object (cdar acad_reactors)))) "AcDbGroup")
); end of and
(if (equal (cadr acad_reactors) '(102 . "}"))
(setq acad_reactors nil)
); end of if
(setq group_name (vla-get-Name vlx_objetc))
); end of while
); end of if
); end of defun obtername_grupo[/lsp]
Ederson Ambrosio
031 8893-2947
BH-MG
031 8893-2947
BH-MG