|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
16.07.2010, 08:57 | #1 | |
Можно ли с помощью VBA (или Lisp) редактировать spdsNotePosition (выноску СПДС)?
Инженер
С-Пб
Регистрация: 02.10.2008
Сообщений: 3,686
|
||
Просмотров: 5555
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,686
|
Цитата:
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
|
||||
Инженер-строитель Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,988
|
лиспом тоже можно. Перебираешь аккуратно все пары, а потом entmod
фрагмент: (repeat (length sObj) (if (= (cdr (nth i sObj)) "Text") (progn (setq sObj (subst (cons 300 pasteStr) (nth (1+ i) sObj) sObj)) (entmod sObj) ) ;_ progn ) ;_ if (setq i (1+ i)) ) |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
AlexV, я просто помнил, что Яков выкладывал какие-то решения для СПДС на VBA. Поэтому целенаправленно и искал (вопрос все же редкий достаточно, обычный поиск тут не помощник).
crosandr, выноски СПДС - отдельный класс примитивов, и с entmod там надо очень аккуратно работать. Offtop: P.S. Вот если бы Яков и тут отписался - ух, было бы классно! Можно было бы и насчет .net поспрошать
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,856
|
crosandr, прекрасно. В списке из #1 замени строку 111 на 333 и убери строку 222. Задачка не настолько сложная, как ты говоришь...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,686
|
На самом деле, локальная у нас такая задачка.. Из модели в ASD steel получаем чертежи стальных узлов.. Оформлять чертежи только средствами ASD пока не получается, поэтому экспортируем в автокад, и на выходе получаем плоские чертежи, которые надо дорабатывать ручками. Вот и хотелось бы программно повставлять выноски СПДС вместо "экспортнутых" из ASD (они экспортируются, разбиваясь на примитивы отрезок-полилиния-мтекст). Снять информацию с "убитых" выносок ASD я смогу, выноску СПДС тупо загоню в блок, который и буду программно вставлять "в нужные места", после чего эксплодить. Соответственно надо выноске присвоить нужные текстовые значения, ну и желательно позиционировать ее правильно...
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,686
|
Ну, ломать - не строить.. Проблемы с их убийством никакой..
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,686
|
Спасибо добрым людям из сисофта , подсказали, как на VBA выноску СПДС создать..
Код:
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! Последний раз редактировалось AlexV, 20.07.2010 в 09:57. |
|||
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,686
|
Возникает вопрос по предыдущему коду из #13.. К добрым людям .. Выноски благополучно создаются, но.. Если они ориентированы полкой вправо, все окей, если ж влево, то получается небольшой "косяк". Почему-то грипсы, за которые перемещается и зеркалится полка, находятся не с той стороны.. То бишь сегмент, который добавляется в "mcobject.AddSegment", хотелось бы привязывать к "mcobject.Origin", а не к противоположной стороне полки. На рисунке это видно (ну или в dwg приложенном"). Пытался по-разному задавать все точки (Origin, начало-конец добавляемого сегмента), но при всех вариантах не то получается.. p.s. корячился, корячился.. только сообщение создал, разобрался. mcobject.Dir = 3.1415269.... для выносок с полкой ориентацией влево..
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! Последний раз редактировалось AlexV, 09.09.2010 в 17:14. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
Lisp или VBA? | mr_ivan | LISP | 1 | 13.05.2008 12:20 |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |