1. ВНИМАНИЕ! В течении пары дней +- будет переезд форума на более защищённый сервер. Возможны периодические перебои в работе.

Подписать отметки точек.

Discussion in 'Autodesk' started by rome047, Jun 19, 2013.

  1. АлексЮстасу

    АлексЮстасу Форумчанин

    Подчеркивание перед командой необходимо, если это родная команда Автокада, и оно нужно для того, чтобы фирменную англоязычную команду понимали локализованные версии. Т.е., если версия русскоязычная или пр.
     
  2. borik

    borik Форумчанин

  3. Philin

    Philin Форумчанин

    Может лезу не в свою тему, но это неверно.
    Подчёркивание перед командой указывает на то, что это не команда, а так-называемый alias (ссылка) на команду.
    Пример для русскоязычного автокад:
    - команда ОТРЕЗОК (это родная команда этого автокад)
    - команда _line (это alias на родную команду ОТРЕЗОК)

    На родную команду может быть неограниченное количество alias-ов, но при этом родная команда может быть только в единственном числе.
    Структура автокад позволяет работать со своими ВШИТЫМИ командами и позволяет прописывать любые алиасы на эти команды. Всё это можно сделать в специальных текстовых файлах, которые можно найти внутри установленного пакета автокад.

    Если LISP программа написана в оригинальной (английской) версии автокад, то часто она не будет работать в локализованной версии (и наоборот). Связано это с тем, что в английской версии прошиты англгийские команды, а в русской версии эти же самые команды НЕ РОДНЫЕ и прошиты в автокад как alias. Поэтому, если пишется программа LISP для любых локализаций автокад, то все команды надо прописывать в ней только ЛАТИНСКИЕ и всегда прописывать их как алиасы (со знаком подчёркивания перед командой). Если же вы будете писать команды в программе каким-либо другим способом, то получите работоспособную программу ТОЛЬКО в одной своей локализации автокад.

    Автокад допускает в оригинальной (Английской) версии дублирующие алиасы на команды, т.е.:
    - LINE (команда для черчения линии/отрезка)
    - допускает запуск этой команды через алиас _LINE
    Поэтому всегда В ЛЮБОЙ локализации работают алиасы на английские команды автокад (потому, что для английской версии они допустимы, а для других локализаций они прописаны в конфиге на основные локализованные команды).
    В неоригинальной версии автокад (НЕ английской), НЕ допускаются алиасы на родные команды. Пример:
    - родная команда в русском автокад ОТРЕЗОК
    - НЕ допускает ссылаться на себя алиасом _ОТРЕЗОК
     
    maia, Ohr, mmm1121 and 1 other person like this.
  4. АлексЮстасу

    АлексЮстасу Форумчанин

    О1 Спасибо за информацию.
    Правильно понял, что в данном случае можно p_h вызывать и с подчеркиванием, и без? И в русском, и в английском Автокаде? Т.к. это "родная команда".
     
  5. sergtor

    sergtor Форумчанин

    Удалил (дубль).
     
  6. chibis001

    chibis001 Форумчанин

    Есть топосъемка с постоянной ошибкой по высоте прим.40см. Делаю обновление = испралвение.
    Нужна программка, котрая автоматичеки исправит высотные отметки (по клику или по выделению) на заданную величину. Есть что-нибудь подобное?
     
  7. sergtor

    sergtor Форумчанин

  8. АлексЮстасу

    АлексЮстасу Форумчанин

    Используйте для отметок блок точки с атрибутом, в котором будет считываться Z этого блока. После опускания/подъема этих точек на 40 или т.п. см/м надписи высот сами изменятся. (Обычно после _regenall это еще и видно становится).
     
  9. Qvinto

    Qvinto Форумчанин

    Необходимо знать, в топосъемке в качестве пикетов какой примитив Автокада выступает?
    Если примитив точка Автокада, то поднять\опустить можно выделив необходимые точки, дать команду Переместить нажать Ентер и в командной строке указать 0,0,0.40 нажать Ентер. Все выбранные примитивы переместятся только по высоте на указанную величину.
    А что бы пере подписать новые отметки текстом, можно лиспом.

    Code:
    (defun c:pl ( / H SSET lay osm npoint n ent pxy pz)
    (if(and
    (setq sset (ssget '((0 . "POINT"))))
    (setq h (getreal "\tУкажи высоту текста\t\t")))
    (mapcar(function(lambda  (x)
    (entmake(list '(0 . "text")
    (assoc 10 (entget x))(cons 40 h)
    (cons 1 (rtos (cadddr (assoc 10 (entget x))) 2 2))))))
    (vl-remove-if (function listp)
    (mapcar (function cadr) (ssnamex sset)))))
    (princ))
    
     
  10. chibis001

    chibis001 Форумчанин

    Спасибо! Воспользовался геокалькулятором.
     
  11. 1981Елена

    1981Елена Форумчанин

    <p>
    </p><p>Воспользовалась данным лиспом, что нужно изменить что бы подписывались отметки высот до двух знаков?</p>
     
    Last edited: Jan 20, 2015
  12. Qvinto

    Qvinto Форумчанин

    Нужно, что бы точка имела отметку. А так она, точки, имеет отметку "ноль", вот программа и подписывает "ноль". А что должна была подписать?
    --- Сообщения объединены, Jan 20, 2015, Оригинальное время сообщения: Jan 20, 2015 ---
    А сколько подписывает? До двух, (по цитате) в данном случае и подписывает.
    Где-то я выкладывал здесь этот же код, что-бы до трёх подписывало. Там всего один параметр изменить надо, в коде, и будет подписывать до необходимого количества знаков.

    (defun c:pl ( / H SSET lay osm npoint n ent pxy pz)
    (if(and
    (setq sset (ssget '((0 . "POINT"))))
    (setq h (getreal "\tУкажи высоту текста\t\t")))
    (mapcar(function(lambda (x)
    (entmake(list '(0 . "text")
    (assoc 10 (entget x))(cons 40 h)
    (cons 1 (rtos (cadddr (assoc 10 (entget x))) 2 2))))))
    (vl-remove-if (function listp)
    (mapcar (function cadr) (ssnamex sset)))))
    (princ))
    Вот красненькую циферку меняйте на необходимую, напр. 5, будет вам до пяти знаков после запятой, с нулями.
    Только, после изменения кода, не забывайте сохранится, и по новой загрузить лиспик.
     
    chehoff and кит like this.
  13. Романыч

    Романыч Форумчанин

    Игорь, здравствуйте!
    Пришлось вернуться к Вашему лиспу по подписи отметок точек из свойств.
    Загружаю лисп---появляется меню быстрого выбора---точки выделяются (в командной строке сообщение гласит, что выбрано 22 объекта)---неизвестная команда (((((((((((( Помогите, пожалуйста, разобраться.
    Примечание. На автокаде установлен Гео_Тулс от Андрея.
     

    Attached Files:

  14. Qvinto

    Qvinto Форумчанин

    Лучше вот, повыше твоего сообщения, лиспом пользуйся. Там выбор по другому реализован. pl называется.
     
    lubopitno likes this.
  15. Романыч

    Романыч Форумчанин

    Игорь, огромное спасибо! Всё работает.
    Без шуток: снимаю перед Вами шапку.
     
  16. Qvinto

    Qvinto Форумчанин

    Spoiler

    Да ладно. Не вгоняй меня в краску. Тут покруче меня форумчане пишут. Я так, только балуюсь.
    На Бованах надо было ко мне подходить, когда вместе работали.

     
  17. Романыч

    Романыч Форумчанин

    Spoiler

    Игорь, к сожалению я не работал на Бованах (если имеется ввиду именно Бованенковское месторождение)...::unsure.gif::
     
  18. Спасибо за лисп, всё пригодилось и получилось. ::smile24.gif::
     
  19. Solnechny888

    Solnechny888 Форумчанин

    спасибо то ж пришлось поюзать
     
  20. vity

    vity Форумчанин

    Здравствуйте , а не подскажите лисп что бы делал подписи : отметок,имени и кода точки?
    Съемка с прибора SOKKIA CX-102 ,
    Нужно повернуть чертеж "вид спереди" и при этом все подписи точек становятся плавной линией, а мне нужно знать их данные для дальнейшей обработки , подскажите как бы это лучше сделать при данных условиях.
     
    Last edited: Aug 3, 2018
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice