Тема: Как перевести Block Referense в точку Автокада???

Можно-ли перевести блоки в точки? Или сразу в геоточки?
дело в чем-в программе оцифровки при создании отметки создается блок с атрибутами...Я хочу по этим "точкам" создать поверхность...И еще вопрос-отметка блока ноль,но в атрибутах z=отметка....можно ли атрибут прегнать в Z Автокада...?
Заранее спасибо.

Re: Как перевести Block Referense в точку Автокада???

Способов много. Конкретно в какой программе необходимо все это проделать?
Везде присутствует возможность создать точки из объектов рисунка (в даном случае блоки). Или же создать текстовый файл по извлечению атрибутов (Сервис - Извлечение атрибутов),затем использовать текстовый файл в создании точек, или же средствами ToolPac - блоки на высоту атрибутов, или преобразовать атрибуты в текст, а затем посадить текст на его значение, и по  даным текста создать точки.
В Геониксе сразу предусмотрена эта возможность.

Re: Как перевести Block Referense в точку Автокада???

Я сейчас работаю в Лэнде 2004.Я знаю как это делается в Геониксе,но его у меня нету.На счет извлечения атрибутов-тоже знаю(так и делал). А вот на счет ToolPac можло ли по-подробнее....

Re: Как перевести Block Referense в точку Автокада???

http://dwg.ru/dnl/347

Re: Как перевести Block Referense в точку Автокада???

так это утилита...спасибо,я надеюсь она решит мои проблемы.

Re: Как перевести Block Referense в точку Автокада???

А вы не могли-бы хоть примерно рассказать как ею пользоватся....

Re: Как перевести Block Referense в точку Автокада???

Смотри почту

Re: Как перевести Block Referense в точку Автокада???

Спапибо конечно...я то ее уже скачал и поставил,а вот как пользоватся не разобрался и как ее полезно применить в моих проэктах тоже... А на счет Геоникса-я и сам могу его без проблем достать smile

Re: Как перевести Block Referense в точку Автокада???

ToolPac->Object->Elevation->Block By Attribute
Все команды говорят сами за себя, так что разобраться не сложно.

Re: Как перевести Block Referense в точку Автокада???

В деле не проверял. По умолчанию прога должна работать с блоком M5_0_500.
(defun C:bl_pt ()
  (vl-load-com)
  (setq
    acadObj  (vlax-get-acad-object)
  aeccApp  (vla-getinterfaceobject acadObj "Aecc.Application")
    aeccProj (vlax-get aeccApp "ActiveProject")
     pts         (vlax-get-property  aeccProj 'CogoPoints)
  )
  (if (= (setq bl (getstring T "Введите имя блока <M5_0_500>:"))
     ""
      )
    (setq bl "M5_0_500")
  )
  (if (setq
    bloki (ssget "_X"
             (list (cons 100 "AcDbBlockReference") (cons 2 bl))
          )
      )
    (progn
      (if (or
        (=
          (getstring
        "Включать блоки с координатой Z, равной 0 [Y/N]? <N>:"
          )
          y
          Y
        )
      )
    (progn (setq i        0
             Pquant (sslength bloki)
           )
           (while (> Pquant i)
         (setq vl_name (vlax-ename->vla-object (ssname bloki i))
               coord   (vlax-get-property vl_name 'InsertionPoint)
         )
         (vlax-invoke-method pts 'Add  coord 1)
         (setq i (+ i 1))
           )
    )
    (progn
      (setq    i      0
        Pquant (sslength bloki)
      )
      (while (> Pquant i)
        (setq vl_name (vlax-ename->vla-object (ssname bloki i))
          coord      (vlax-get-property vl_name 'InsertionPoint)
        )
        (if
          (/=
        (caddr (vlax-safearray->list (vlax-variant-value coord))
        )
        0
          )
           (vlax-invoke-method pts 'Add  coord 1)
        )
        (setq i (+ i 1))
      )
    )
      )
    )
    (progn (alert "Такого блока в чертеже нет")
       (princ)
    )
  )
)