Schöck
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программное создание таблицы AutoCAD. Муки творчества.

Программное создание таблицы AutoCAD. Муки творчества.

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 05.04.2013, 17:08
Программное создание таблицы AutoCAD. Муки творчества.
Do$
 
AutoCAD/Civil3D LISP/C#
 
Санкт-Петербург
Регистрация: 15.08.2008
Сообщений: 1,645
Отправить сообщение для Do$ с помощью Skype™

Do$ вне форума Вставить имя

Здравствуйте, уважаемые коллеги!
Уже не в первый раз возникает необходимость вывести какие-то рассчитанные программно данные на чертеж в виде таблицы. Естественно, хочется, чтобы потом эту таблицу не пришлось долго и муторно приводить к нужному виду. Следовательно, надо заложить в программу возможность форматирования таблицы. Но тут встает вопрос - каким образом это лучше всего сделать?
У меня был опыт рисования таблиц из линий и мультитекста. Просто и сердито. Если нужно потом отформатировать такое творение, сил на это уходит прилично. Но раньше особо альтернативы не было, поэтому этот способ был практически единственным. Достоинств сейчас у этого способа практически нет никаких, за исключением того, что не нужно разбираться в том, как создавать и редактировать таблицы AutoCAD. А разбираться там есть в чем:

Во-первых, есть настраиваемые стили таблиц.
Во-вторых, есть предустановленные стили ячеек трех типов с настраиваемым форматированием.
В-третьих, есть возможность создавать собственные стили ячеек.
В-четвертых, все характеристики форматирования можно переопределить у уже созданного объекта-таблицы.
В-пятых, у стилей таблиц есть возможность задавать начальный вид таблицы.
ну и т.д. и т.п...

Возможностей масса! Но хочется понять, что разумнее делать программно, а что реализовывать штатными настройками?
В одной своей LISP-программе я использовал такой способ создания таблицы: в папку приложения помещал уже готовый шаблон DWG с настроенными таблицами и программно вставлял нужную таблицу в чертеж, используя ObjectDBX. Этот способ имеет огромный плюс - не надо программно настраивать всевозможные стили, таблица гарантированно создавалась в чертеже со всеми необходимыми настройками. При необходимости, внешний вид таблицы любой более-менее опытный пользователь может спокойно менять, не затрагивая код. За год использования программы ни одной осечки не было.
Сейчас я в основном пишу на C#.NET, в связи с чем снова возникает этот вопрос - как лучше? Механизма междокументного взаимодействия на NET я пока не знаю, но не думаю, что это будет большой проблемой. Теорию создания табличного стиля поверхностно изучил, возможности весьма порадовали. Опять же, как лучше: полностью до мелочей продумать и программно создать стиль таблицы вплоть до заранее сохраненного шаблона таблицы, или же создавать таблицу любого имеющегося стиля и программно при заполнении проводить форматирование, переопределяя заложенное стилями? Каким образом вносить изменения при необходимости? Создавать отдельный диалог для ввода настроек таблицы, скорее всего...
В общем, очень интересует ваше мнение по этому вопросу и, может быть, кто-то может поделиться удачным или печальным опытом?
Заранее спасибо!
Просмотров: 14489
 
Непрочитано 19.04.2013, 10:26
#21
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Alexeipost Посмотреть сообщение
Была таблица на 2000 строк - пришлось разбивать на 4 автокадовских файла.
AutoCAD не является табличным процессором. С обычными ведомостями\спецификациями он работает вполне сносно. Если таблица содержит так много записей, как указано в цитате, то скорее всего имеет смысл работать с ними в Excel\Calc и оттуда же выводить на печать, а не тянуть их в AutoCAD. Для решения любой задачи нужно стараться выбирать такой софт, который для этого более подходит (специализирован).

имхо.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.04.2013, 16:31
#22
Alexeipost


 
Регистрация: 07.12.2010
Уфа
Сообщений: 371
Отправить сообщение для Alexeipost с помощью ICQ


В экселе не удобно рамку вставлять. И из автокада печатать удобно в пдф - нажал и все ушло. А когда в проекте 100 листов, то печать из подшивки просто не заменима! Ладно, есть пример, который таблицу форматирует? Все строки высотой 800, выравнивание середина поцентру....
Alexeipost вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 18.06.2014, 11:27
#23
roaa

ОПС
 
Регистрация: 29.03.2012
Kazakhstan
Сообщений: 127


Ищу несколько дней, но...
(vla-GetCellStyle MyTable 0 0) - стиль ячейки
(vla-GetRowType MyTable 0) - стиль строки
Какой командой вытащить стиль столбца таблицы?
roaa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 18.06.2014, 11:30
#24
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,645
Отправить сообщение для Do$ с помощью Skype™


А разве есть стиль столбца?
Миниатюры
Нажмите на изображение для увеличения
Название: Стиль строки.png
Просмотров: 132
Размер:	63.2 Кб
ID:	130552  
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 18.06.2014, 11:54
#25
roaa

ОПС
 
Регистрация: 29.03.2012
Kazakhstan
Сообщений: 127


Цитата:
Сообщение от Do$ Посмотреть сообщение
А разве есть стиль столбца?
Судите сами...
Незнаю как вставить рисунок в сообщение.
Выделяем ячейку-свойства. Там и сидит этот самый стиль.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.png
Просмотров: 136
Размер:	96.2 Кб
ID:	130553  
roaa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 18.06.2014, 13:27
#26
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,645
Отправить сообщение для Do$ с помощью Skype™


Есть подозрение, что с помощью VLisp не добраться до этих свойств.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 18.06.2014, 15:15
#27
roaa

ОПС
 
Регистрация: 29.03.2012
Kazakhstan
Сообщений: 127


Цитата:
Сообщение от Do$ Посмотреть сообщение
Есть подозрение, что с помощью VLisp не добраться до этих свойств.
Попробую еще поискать...
Пришла идея использовать таблицы для сохранения настроек в самом чертеже, да и функции, наподобие написанных kpbls для ini-файлов, но для таблиц, очень бы не помешали.

----- добавлено через ~18 ч. -----
Подскажите, пожалуйста, как пользоваться командой GetCellDataType
roaa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 19.06.2014, 17:27
#28
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,645
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от roaa Посмотреть сообщение
Пришла идея использовать таблицы для сохранения настроек в самом чертеже
Настроек чего?
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 19.06.2014, 23:52
#29
roaa

ОПС
 
Регистрация: 29.03.2012
Kazakhstan
Сообщений: 127


Цитата:
Сообщение от Do$ Посмотреть сообщение
Настроек чего?
Многие для настроек своих программ создают ini, dat... А для сохранения какой-то информации - расширенные данные.
Почему б не использовать для этого таблицы и в самом чертеже.
Это только затейка, а как это будет целесообразно и удобно - пока вопрос.
roaa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 19.06.2014, 23:56
#30
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,645
Отправить сообщение для Do$ с помощью Skype™


Для сохранения настроек в чертеже есть специальный тип записи - XRECORD. Хранятся они в словарях. Есть корневой словарь документа - NOD (Named object dictionary), можно также добавлять словарь к любому объекту чертежа. Вот таким образом обычно хранят настройки, которые нужно сохранять в чертеже.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.06.2014, 00:23
#31
roaa

ОПС
 
Регистрация: 29.03.2012
Kazakhstan
Сообщений: 127


Век живи - век учись...Спасибо

----- добавлено через ~10 ч. -----
А вопрос все таки остался и, думаю, функции будут достаточно востребованы.
roaa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.06.2014, 16:34
#32
Erbol2014

ТОО
 
Регистрация: 22.05.2014
Аршалы
Сообщений: 50


Цитата:
Сообщение от roaa Посмотреть сообщение
Век живи - век учись...Спасибо
А вопрос все таки остался и, думаю, функции будут достаточно востребованы.
Будут всегда.
Цитата:
Сообщение от Do$ Посмотреть сообщение
Для сохранения настроек в чертеже есть специальный тип записи - XRECORD.
И придёт глобальный пипец при чистке чертежа.
Ini придумали для ХР, а как известно ничего лучше пока не создали,да и говорят 9-ка будет на базе ХР...
Erbol2014 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.06.2014, 16:58
#33
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,838


Цитата:
Сообщение от Erbol2014 Посмотреть сообщение
Ini придумали для ХР
Да ладно - в 95 от него уже отказались...
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.06.2014, 17:22
#34
Erbol2014

ТОО
 
Регистрация: 22.05.2014
Аршалы
Сообщений: 50


Offtop:
Цитата:
Сообщение от Дима_ Посмотреть сообщение
Да ладно - в 95 от него уже отказались...
Всё верно - чтобы все подряд не программировали, и не создавали программы, а этим должны заниматься крупные конторы, которым нужно платить кучу бабла за мелкую прогу. Искусственно созданный ажиотаж, таким образом специально убили VB6.
Erbol2014 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 20.06.2014, 17:40
#35
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,645
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Erbol2014 Посмотреть сообщение
И придёт глобальный пипец при чистке чертежа.
При чистке чертежа удаляются XRECORDS? Первый раз такое слышу.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.06.2014, 23:16
#36
roaa

ОПС
 
Регистрация: 29.03.2012
Kazakhstan
Сообщений: 127


И таблица всеж-таки более наглядна и легко контролируется...
roaa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.06.2014, 01:00
#37
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 35,962


roaa, не путай метод хранения и метод представления данных.
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.06.2014, 02:08
#38
roaa

ОПС
 
Регистрация: 29.03.2012
Kazakhstan
Сообщений: 127


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
roaa, не путай метод хранения и метод представления данных.
Я это помню. Спасибо! О том, где хранить данные у меня вопрос пока не стоит... С таблицей разобраться хочется.
roaa вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 03.08.2016, 09:33
#39
tujn08


 
Регистрация: 26.12.2013
Сообщений: 241


Привет!
Кто может подсказать как на lisp вставлять нужный стиль таблицы из палитры + заполнять ячейки.
И вопрос: стиль нельзя сохранять с заполненной шапкой?
tujn08 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 03.08.2016, 10:21
#40
Владимир_М


 
Регистрация: 05.11.2015
Сообщений: 585


Цитата:
Сообщение от tujn08 Посмотреть сообщение
Привет!
Кто может подсказать как на lisp вставлять нужный стиль таблицы из палитры + заполнять ячейки.
И вопрос: стиль нельзя сохранять с заполненной шапкой?
Раз уже Вы пишите код, то и попробуйте в коде прописать все что Вам надо: и стиль таблицы, и ее шапку, ну и, естественно, заполнение ячеек... Точно ли нужна Вам эта зависимость от существующих стилей таблиц в шаблоне, от палитр?
Владимир_М вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программное создание таблицы AutoCAD. Муки творчества.

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AutoCAD 2010. Создание собственных образцов штриховки. rassom AutoCAD 68 18.05.2017 11:39
Как сделать непечатаемым текст в ячейке таблицы в Autocad? Газизов Рафаэль AutoCAD 10 02.09.2014 16:51
Какой AutoCAD использовать ? denes AutoCAD 55 12.09.2011 14:29
программное создание размеров в dxf файле _Oleg_ Программирование 4 01.02.2011 16:36
Одна из целей: Создание экспертных систем на базе AutoCAD. Сергей Юрьевич Программирование 9 01.01.2005 15:17

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||