Как вставить блок в ячейку таблицы. Lisp.
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как вставить блок в ячейку таблицы. Lisp.

Как вставить блок в ячейку таблицы. Lisp.

Ответ
Поиск в этой теме
Непрочитано 08.02.2012, 16:15 #1
Как вставить блок в ячейку таблицы. Lisp.
VoVoRoNaLe
 
Конструктор
 
Регистрация: 29.10.2007
Сообщений: 157

Блок уже создан, осталось вставить его в нужное место в таблице взамен текста. Хочу чтобы значение "][" менялось на блок двутавра и так далее.

Таблица через DataLink вставляется с Экселя. Возможно есть другой способ вставить блок...
Просмотров: 4432
 
Непрочитано 08.02.2012, 21:50
#2
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


В этом лиспе обрати внимание на этот фрагмент кода
Код:
[Выделить все]
(function
                    (lambda ( block ) (setq row (1+ row)) (vla-SetCellType table row 0 acBlockCell)
                      (vlax-invoke table
                        (if (_Is64Bit)
                          'SetBlockTableRecordId32 
                          'SetBlockTableRecordID
                        )
                        row 0 (_GetObjectID doc (_itemp blocks block)) :vlax-true
                      )
                    )
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 09.02.2012, 13:44
#3
VoVoRoNaLe

Конструктор
 
Регистрация: 29.10.2007
Сообщений: 157


Спасибо, буду разбираться ... Как получится закину результат.
Хочется создать Лисп который бы менял определенные символы в таблице на блоки.
Алгоритм такой:
1. выбираем таблицу
2. Разблокируем ячейки, (если это необходимо)
3. Ищем нужные символы (или последовательность символов). Они могут быть в начале или в конце строки.
4. Удаляем эти символы, а в место где стерли символы вставляем блок. Ячейка при этом имеет тип Multi (Блок текест)

Это делается для того, чтобы при вставке спецификации с экселя красиво отражались обозначение профилей. (Без дополнительных шрифтов и проч., То есть файлы могли открываться на любом компьютере)
VoVoRoNaLe вне форума  
 
Автор темы   Непрочитано 03.03.2012, 17:45
#4
VoVoRoNaLe

Конструктор
 
Регистрация: 29.10.2007
Сообщений: 157


А как вставить в ячейку блок и текст одновременно? Ячейка будет иметь тогда тип acUnknownCell, а когда я меняю тип на acUnknownCell
Код:
[Выделить все]
 (vla-setcelltype objTable intNumRow intNumColumn AcUnknownCell)
тогда блок вообще не вставляется в ячейку не говоря о тексте...
Код:
[Выделить все]
 (vla-setblocktablerecordID objTable intNumRow intNumColumn intObjectID: vlax-true)
VoVoRoNaLe вне форума  
 
Непрочитано 04.03.2012, 12:18
#5
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Цитата:
Сообщение от VoVoRoNaLe Посмотреть сообщение
А как вставить в ячейку блок и текст одновременно? Ячейка будет иметь тогда тип acUnknownCell, а когда я меняю тип на acUnknownCell
Разбей ячеку на две и будет тебе счастье

~'o'~
Олег (jr.) вне форума  
 
Автор темы   Непрочитано 04.03.2012, 13:52
#6
VoVoRoNaLe

Конструктор
 
Регистрация: 29.10.2007
Сообщений: 157


Цитата:
Сообщение от Олег (jr.) Посмотреть сообщение
Разбей ячеку на две и будет тебе счастье
Так оно и будет если не удастся Лиспом вставить. Хотя добавить текст к блоку в таблице AutoCAD просто, думал что на Лиспе тоже ...
VoVoRoNaLe вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Как вставить блок в ячейку таблицы. Lisp.



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Вставка в таблицу поля, соотвествующего площади примитива Profan Готовые программы 272 06.06.2021 23:12
Вставить блок в масштабе kaplia-oplia Программирование 4 30.01.2012 10:31
Вставить блок Autocad по координатам из таблицы Autocad. Nesh Программирование 10 20.01.2012 06:19
как с помощью vba начертить линию vasyavip Программирование 77 09.10.2008 23:17