Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: Reconher informações de um objeto.

  1. #1
    Active Member
    Join Date
    2009-04
    Location
    São Paulo - Brazil
    Posts
    63
    Login to Give a bone
    0

    Default Reconher informações de um objeto.

    Bom dia Pessoal,

    Acho que esqueci como se programa


    segue a linha de programação

    (setq ent_bloco (SSGET "x" (list(cons 2 "blocoteste"))))


    este bloco teste esta em 2 pontos no mes desenhos.

    como faço para conceguir a propriedades de cada um, individualmente,

    ex. coordenada, ângulo, escala....


    valeu pessoal!!!

  2. #2
    Member
    Join Date
    2010-02
    Posts
    32
    Login to Give a bone
    0

    Default Re: Reconher informações de um objeto.

    Isso é uma seleção de objetos.

    (sslength seleção) ; retorna a quantidade de entidades que esta na seleção
    (ssname seleção posiçao) ; retorna a entidade referente a posição indicada
    (ssdel objeto seleção) ; apaga uma entidade da seleção


    Espero que isso te ajude.
    Abraços




    Quote Originally Posted by ed_cristian.dwg View Post
    Bom dia Pessoal,

    Acho que esqueci como se programa


    segue a linha de programação

    (setq ent_bloco (SSGET "x" (list(cons 2 "blocoteste"))))


    este bloco teste esta em 2 pontos no mes desenhos.

    como faço para conceguir a propriedades de cada um, individualmente,

    ex. coordenada, ângulo, escala....


    valeu pessoal!!!

  3. #3
    Active Member
    Join Date
    2009-04
    Location
    São Paulo - Brazil
    Posts
    63
    Login to Give a bone
    0

    Talking Re: Reconher informações de um objeto.

    Ajudou e muito Alan,

    Obrigado.

  4. #4
    Active Member
    Join Date
    2009-04
    Location
    São Paulo - Brazil
    Posts
    63
    Login to Give a bone
    0

    Unhappy Re: Reconher informações de um objeto.

    fiz tudo conforme você me explicou e acredite, meu problema agora é o insert


    vê só

    (defun c:troca ()
    (setq trelica (SSGET "x" (list(cons 2 "TRELICA-H800Px3000"))))
    (setq quant_trelica (sslength trelica))
    (setq und_trelica (ssname trelica 0))
    (setq lista_trelica (entget und_trelica))
    (setq coord_trelica (atof (cdr (assoc 10 lista_trelica))))
    (setq ang_trelica (/ 180(/ pi (cdr (assoc 50 lista_trelica)))))
    (command ".erase" trelica "" "")
    (command "-insert" "K:\\AutoCAD\\Plants\\Library\\Comp-Tc's\\TRELICA\\TREL-800P\\30p\\800Px3000.dwg" coord_trelica "1" "1" "0")
    (command ".rotate" (entlast) "" coord_trelica ang_trelica)
    (princ)
    )



    na hora do comando insert, é como se eu estivesse esquecendo de algo,
    vc saberia oq?

    desculpe o incômodo

  5. #5
    Active Member
    Join Date
    2009-04
    Location
    São Paulo - Brazil
    Posts
    63
    Login to Give a bone
    0

    Exclamation Re: Reconher informações de um objeto.

    pessoal repasso o código

    (defun c:troca ()
    (setq trelica (SSGET "x" (list(cons 2 "TRELICA-H800Px3000"))))
    (setq quant_trelica (sslength trelica))
    (setq und_trelica (ssname trelica 0))
    (setq lista_trelica (entget und_trelica))
    (setq coord_trelica (cdr (assoc 10 lista_trelica)))
    (setq ang_trelica (/ 180(/ pi (cdr (assoc 50 lista_trelica)))))
    ;(command ".erase" trelica "" "")
    (command "-insert" "K:\\AutoCAD\\Plants\\Library\\Comp-Tc's\\TRELICA\\TREL-800P\\30p\\800Px3000.dwg" "s" coord_trelica "1" "1" "0")
    (command ".rotate" (entlast) "" coord_trelica ang_trelica)
    (princ)
    )



    parece que não estou conseguindo utilizar a variável "coor_trelica", diretamente no commando insert.

    este é o problema, como resolvo isto...

    Obrigado!

  6. #6
    Member
    Join Date
    2010-02
    Posts
    32
    Login to Give a bone
    0

    Default Re: Reconher informações de um objeto.

    Bom não intendi direito o que você quis fazer,
    Mais,

    (setq ang_trelica (/ 180(/ pi (cdr (assoc 50 lista_trelica)))))

    Se a rotação aqui que é a (assoc 50) for 0 ira dar esse erro:
    ; error: divide by zero

    em questão a o insert e o rotate estão corretos,
    creio que o problema esta na linha informada a cima.

    obs: evite sempre de usar via lisp o
    "(command ...)"
    sempre que possivel crie por entidades,
    caso não queira por questão de depuração utilize no lugar do "command" o (vl-cmdf .. )"


    abraços


    Quote Originally Posted by ed_cristian.dwg View Post
    pessoal repasso o código

    (defun c:troca ()
    (setq trelica (SSGET "x" (list(cons 2 "TRELICA-H800Px3000"))))
    (setq quant_trelica (sslength trelica))
    (setq und_trelica (ssname trelica 0))
    (setq lista_trelica (entget und_trelica))
    (setq coord_trelica (cdr (assoc 10 lista_trelica)))
    (setq ang_trelica (/ 180(/ pi (cdr (assoc 50 lista_trelica)))))
    ;(command ".erase" trelica "" "")
    (command "-insert" "K:\\AutoCAD\\Plants\\Library\\Comp-Tc's\\TRELICA\\TREL-800P\\30p\\800Px3000.dwg" "s" coord_trelica "1" "1" "0")
    (command ".rotate" (entlast) "" coord_trelica ang_trelica)
    (princ)
    )



    parece que não estou conseguindo utilizar a variável "coor_trelica", diretamente no commando insert.

    este é o problema, como resolvo isto...

    Obrigado!

  7. #7
    Active Member
    Join Date
    2009-04
    Location
    São Paulo - Brazil
    Posts
    63
    Login to Give a bone
    0

    Exclamation Re: Reconher informações de um objeto.

    tem razão Alan,

    e obrigado pela dica, eu não conhecia a opção (vl-cmdf .. ) valeu

    agora o meu problema é antigo nesta linha

    (VL-CMDF "-insert" "K:/AutoCAD/Plants/Library/Comp-Tc's/TRELICA/TREL-800P/30p/800Px3000.dwg" coord_trelica "1" "1" "0")

    nem se eu pegar ele e escrever no "command line" funciona.

    é como se a ordem das informações passadas por mim, estivessem errada,

    se eu escrever assim, ele dá erro, "não sei se na variável",


    tirei a variável e coloquei como teste "0,0,0"

    (VL-CMDF "-insert" "K:/AutoCAD/Plants/Library/Comp-Tc's/TRELICA/TREL-800P/30p/800Px3000.dwg" "0,0,0" "1" "1" "1" "0")



    ele até funciona, mas me escreve:

    Command: Unknown command "0.000000000000,0.000000000000,0.000000000000". Press
    F1 for help.


    só que no programa, quando aparece isto, dá erro e não continua,

    vc já viu isto?????

  8. #8
    Member
    Join Date
    2010-02
    Posts
    32
    Login to Give a bone
    0

    Default Re: Reconher informações de um objeto.

    Certifique-se que o bloco utilizado no insert tenha um ponto de inserção.

    (VL-CMDF "-insert" "K:/AutoCAD/Plants/Library/Comp-Tc's/TRELICA/TREL-800P/30p/800Px3000.dwg" "0,0,0" "1" "1" "1" "0")

    esse bloco contem atributos? se tiver a um valor a mais incluso.
    a função VL-CMDF testa antes de fazer a função, se a função for possivel ele executa, evitando possibilidades de erros.

    para a depuração do programa é bom vc testar se todas as variaveis foram iniciadas, apos utilizar o comando no cad veja seus valores usando !nome_da_variavel com a exclamação...

    Assim vc descobre exatamente aonde esta o erro no programa,
    outra coisa que pode ajudar é colcar alguns alerts no meio do programa, se o alert executar diz que o erro n está acima do alert.

    Não ha a necessidade do "-" em frente o insert no lisp, mais colocar "_." sim, pois certifica que o comando utilizado é original do cad e independente do idioma do cad o programa ira executar corretamente.

    Se não conseguir fala.

    Abraços




    Quote Originally Posted by ed_cristian.dwg View Post
    tem razão Alan,

    e obrigado pela dica, eu não conhecia a opção (vl-cmdf .. ) valeu

    agora o meu problema é antigo nesta linha

    (VL-CMDF "-insert" "K:/AutoCAD/Plants/Library/Comp-Tc's/TRELICA/TREL-800P/30p/800Px3000.dwg" coord_trelica "1" "1" "0")

    nem se eu pegar ele e escrever no "command line" funciona.

    é como se a ordem das informações passadas por mim, estivessem errada,

    se eu escrever assim, ele dá erro, "não sei se na variável",


    tirei a variável e coloquei como teste "0,0,0"

    (VL-CMDF "-insert" "K:/AutoCAD/Plants/Library/Comp-Tc's/TRELICA/TREL-800P/30p/800Px3000.dwg" "0,0,0" "1" "1" "1" "0")



    ele até funciona, mas me escreve:

    Command: Unknown command "0.000000000000,0.000000000000,0.000000000000". Press
    F1 for help.


    só que no programa, quando aparece isto, dá erro e não continua,

    vc já viu isto?????

  9. #9
    Active Member
    Join Date
    2009-04
    Location
    São Paulo - Brazil
    Posts
    63
    Login to Give a bone
    0

    Default Re: Reconher informações de um objeto.

    já sei qual é o problema,

    este lisp não funciona no Autocad Mechanical.
    testei no autocad e funcionou normalmente.

    será que tem outra forma de inserir objeto para eu testar?

  10. #10
    Member
    Join Date
    2010-02
    Posts
    32
    Login to Give a bone
    0

    Default Re: Reconher informações de um objeto.

    Sim, criando a propria entidade.

    Aconselho a procurar uma apostila de como fazer, não é algo tão complicado mas requer atenção extra.


    Abraços


    Quote Originally Posted by ed_cristian.dwg View Post
    já sei qual é o problema,

    este lisp não funciona no Autocad Mechanical.
    testei no autocad e funcionou normalmente.

    será que tem outra forma de inserir objeto para eu testar?

Page 1 of 2 12 LastLast

Similar Threads

  1. Buscar informações de atributos
    By ed_cristian.dwg in forum AutoLISP
    Replies: 1
    Last Post: 2009-11-06, 04:31 PM
  2. Selecionar e Obter informações do objeto atraves do VBA
    By marcio.cartacho in forum AutoLISP
    Replies: 3
    Last Post: 2008-05-20, 01:55 PM
  3. Autodes Impression + informações...
    By sd_assis in forum 3ds Max - General
    Replies: 3
    Last Post: 2007-08-02, 03:32 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •