получение имен стилей ячеек существующего табличного стиля

Автор Тема: получение имен стилей ячеек существующего табличного стиля  (Прочитано 17436 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн cirilАвтор темы

  • ADN OPEN
  • Сообщений: 7
  • Карма: 0
Код - Auto/Visual Lisp [Выбрать]
  1. (vlax-map-collection
  2.    (vla-item (vla-get-dictionaries (vla-get-activedocument (vlax-get-acad-object))) "ACAD_TABLESTYLE")
  3.    (function
  4.      (lambda (стиль_таблицы / стили_ячеек)
  5.        (setq стили_ячеек (vlax-make-variant (vlax-make-safearray vlax-vbstring (cons 1 (vla-get-numcellstyles стиль_таблицы)))))
  6.        (vl-catch-all-error-message (vl-catch-all-apply 'vla-getcellstyles (list стиль_таблицы 'стили_ячеек))))))

LOG "lisp-значение не может быть приведено к данному типу ВАРИАНТА: стили_ячеек"

Как правильно получить имена стилей ячеек у существующего стиля таблицы?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
ciril
Привествую на форуме. Обрати внимание как следует форматировать код на форуме (у меня в подписи).
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Похоже этот метод (я о getcellstyles) не рабочий. Я задам вопрос в ADN DevHelp.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн cirilАвтор темы

  • ADN OPEN
  • Сообщений: 7
  • Карма: 0
Тогда я немного переформулирую вопрос: как вообще получить имена стилей ячеек средствами AutoLISP? Во всех функциях изменениях стиля ячейки в качестве параметра фигурирует его имя, которое мне не удалось найти нигде.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Боюсь что это как раз тот случай, когда средств VisualLisp недостаточно.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн cirilАвтор темы

  • ADN OPEN
  • Сообщений: 7
  • Карма: 0
Спасибо. Осталось дождаться, что ответят ADN DevHelp.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Спасибо. Осталось дождаться, что ответят ADN DevHelp.
Это будет не так быстро - сейчас начался сезон конференций. Как только будут новости - я сообщу. Пока же если есть потребность получить список имён CellStyle - смотри в сторону ObjectARX/AutoCAD .NET API
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
ciril
Кстати, а для какой (или каких) версии AutoCAD ты пишешь эту программу?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн cirilАвтор темы

  • ADN OPEN
  • Сообщений: 7
  • Карма: 0

Оффлайн cirilАвтор темы

  • ADN OPEN
  • Сообщений: 7
  • Карма: 0
В сторону ObjectARX & .NET смотреть не могу ввиду отсутствия MS VS, ведь насколько я понял, arx компилированный без его метки просто не загружается АКАД.
Кстати, оффтоп, а dll, складываемых в ApplicationPlugins, касается? В смысле, необходимость наличия метки компилятора для корректной загрузки в АКАД.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Если есть необходимость, то могу сделать arx-модуль, который будет экспортировать lisp-функцию, которая будет по имени (!!!) TableStyle возвращать список имён CellStyle. Это не сложно.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
В сторону ObjectARX & .NET смотреть не могу ввиду отсутствия MS VS, ведь насколько я понял, arx компилированный без его метки просто не загружается АКАД.
Есть бесплатные версии MS VS. Правда arx-и с их помощью сделать нельзя, а вот .NET-приложение - запросто.
стати, оффтоп, а dll, складываемых в ApplicationPlugins, касается? В смысле, необходимость наличия метки компилятора для корректной загрузки в АКАД.
.NET dll для AutoCAD ты можешь делать даже без MS VS - например при помощи SharpDevelop: http://www.icsharpcode.net/opensource/sd/
А вот arx можно делать только при помощи MS VS (C++) причем только определённых версий под конкретные версии AutoCAD.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн cirilАвтор темы

  • ADN OPEN
  • Сообщений: 7
  • Карма: 0
Огромное спасибо, у меня эта задача сейчас носит скорее исследовательский характер, чем рабочая необходимость. И к сожалению, зависимость от arx в смысле версионности АКАДа, заставляет ограничивать себя в его использовании (все тоже отсутсnвие MS VS).

Отмечено как Решение ciril 18-11-2015, 09:08:34

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis


Вызов:
Код - Auto/Visual Lisp [Выбрать]
  1. (TableStyleGetCellStyles "имя табличного стиля")
Возвращается список имён стилей ячеек.
Исходники и готовые arx-файлы для AutoCAD 2013 и 2014 приложил.


Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн cirilАвтор темы

  • ADN OPEN
  • Сообщений: 7
  • Карма: 0