rino_black, если работаете с блоками, то я думаю, рациональнее использовать блоки с атрибутами. А что касается лиспа, разве он работает не по принципу, который Вы описали выше?
Замени L на S в строке (setq objSet(ssget "_:L" '((0 . "INSERT")))) Замени X на S в строке (setq objSet nil objSet(ssget "_X" (list '(0 . "*TEXT")(cons 410 (getvar "CTAB"))))) На первый запрос Выберите объекты - выбирается блок На второй запрос Выберите объекты - выбирается текст с отметкой блока Кооордината Z блока получает значение текста-отметки.
rino_black, попробуй программку. Программу нужно обязательно протестировать. Выложена вторая версия программы ZtoBlock02.fas. Работает с Text и MText. Программка ZtoBlock02.fas позволяет вручную присвоить координате Z блока-пикета отметку написанную в чертеже в виде текста или мтекста. Запускаем программу, выбираем мышкой блок, выбираем мышкой соответсвующую блоку отметку-текст. Отметка становится синего цвета. Далее выбираем следующую пару. Для выхода из программы нажимаем правую кнопку мышки или Enter.
Еще пару слов о программе ZtoBlock01.fas При загрузке программа самозапускается, повторный запуск - набрать 11 и нажать пробел или Enter. Перезапуски подряд можно производить просто нажатием пробел или Enter. Я запускаю программу нажимая левой рукой два раза единицу и пробел.
Я под .Net подразумеваю платформу, а под C++ язык программирования. Одно другому не мешает. Интересует любое проявление в программировании на языках которые поддерживает платформа .Net для Autocad, как создание управляемого так и не управляемого кода.
Хотел бы пообщаться, по задавать вопросы, на примерах код по разбирать, может это в итоге во что либо выльется. --- Сообщения объединены, 10 мар 2016, Оригинальное время сообщения: 10 мар 2016 --- Эта подойдет?
Здравствуйте! Недавно столкнулся с чем-то схожим.(Если я правильно понял). В двух словах... У меня была топографическая съемка одного микрорайона с отметками в виде блоков. Но для построения картограммы необходимо было оцифровать каждую точку - вручную проставив точку и вписав в нее отметку из блока. Для нескольких точек так поступить можно, а вот для массива в 20 га - стало как-то влом, что и вылилось в написание следующего autolisp-кода. Это тестовое приложение... запуск в командной строке буква G....выбрав блок создается точка с отметкой блока, если ничего не появилось стоит обратить внимание на формат отображения точек....или же сам блок может содержать некоторые данные искажающие значения координат ( типа знаков @#$%^&*)...но и этот вопрос уже решен - приложение дорабатывалось на рабочем ПК, так что если мы говорим об одном и том же - на днях добавлю решение для более общих случаев..
Для общих случаев оно уже давно существует. http://geodesist.ru/forum/threads/nadstrojki-po-geodezii-k-autocad.4611/#post-68093
Добрый день! Не поможете решить такую задачу: http://geodesist.ru/forum/threads/trebuetsja-lisp-vstavka-v-exel.51956/#post-575341 ?
Никто не сталкивался вот с такой задачкой: есть 3D полилинии, нужно на чертеже подписать их длину. Для 2д полилинии нашел лисп, а вот с 3д сложнее... Мб есть готовые решения?
Не сталкивались. А длину всей 3D полилинии, или от вершины до вершины? Если всей, то МенюГЕО - Работа с полинией, отрезком. Там разные варианты решения этой задачи есть.
Вот я вроде просмотрел все варианты из МенюГЕО, того что нужно не нашел. Даже хотябы по всей полилинии. От вершины до вершини конечно было бы более оптимальным, но за неимением бОльшего, можно помучиться с меньшим :) на 2 д полилинию подписывает, а на 3д не хочет. Перепроверю пойду еще раз, может где сам затупил или в слой не в тот отлетало... но вроде не вышло у меня ни с pltools ни с другими из того меню Добавлено Действительно мой косяк, в скрытый слой улетало. Спасибо! Получилось через МенюГЕО.