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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание нового стиля таблиц AutoCAD 2006 (VL)

Создание нового стиля таблиц AutoCAD 2006 (VL)

Ответ
Поиск в этой теме
Непрочитано 17.12.2009, 06:51
Создание нового стиля таблиц AutoCAD 2006 (VL)
Дмитрий Голованов
 
Регистрация: 17.12.2009
Сообщений: 12

Помогите! Делаю так:

Код:
[Выделить все]
(defun C:CREATETABLESTYLE ()
  (vl-load-com)
  (setq acad_application (vlax-Get-Acad-Object))
  (setq active_document (vla-Get-ActiveDocument acad_application))
  (setq ts_dictionaries (vla-Get-Dictionaries active_document))
  (setq ts_dictionary (vla-Item ts_dictionaries "acad_tablestyle"))

  (setq	item (vla-AddObject
	       ts_dictionary
	       "NEWTABLE"
	       "AcDbTableStyle"
	     )
  )
  ; далее задание своиств стиля
)
В результате:

Цитата:
Команда: CREATETABLESTYLE
"Ошибка Automation. Отсутствует описание." ; ошибка: В функции *error* возникла ошибка:Настройка переменной AutoCAD отвергнута: "USERS2" nil
Где ошибка?
Просмотров: 14576
 
Непрочитано 18.12.2009, 14:29
#21
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Вот так я создаю стиль таблицы:
Код:
[Выделить все]
(defun ru-table-style-create (/ table_style ru_table_style_name)
  ;; (ru-table-style-create)
  
  (setq
    ru_table_style_name
     "RU_SPDS"
  )
  (setq table_style (ru-error-catch
    (function
      (lambda ()
        (vla-getobject
          (vla-item
            (vla-get-dictionaries
              (vla-get-activedocument (vlax-get-acad-object))
            ) ;_ end of vla-get-dictionaries
            "acad_tablestyle"
          ) ;_ end of vla-item
          ru_table_style_name
        ) ;_ end of vla-getobject
      ) ;_ end of lambda
    ) ;_ end of function
    (function (lambda (x)
                nil
              ) ;_ end of lambda
    ) ;_ end of function
  ) ;_ end of ru-error-catch
 )
 (if (not table_style)
   (progn
  (ru-splash-show "Ждите, создаю стиль таблиц...")
     (setq
       table_style
        (vla-addobject
          (vla-item
            (vla-get-dictionaries
              (vla-get-activedocument (vlax-get-acad-object))
            ) ;_ end of vla-get-dictionaries
            "acad_tablestyle"
          ) ;_ end of vla-item
          ru_table_style_name
          "AcDbTableStyle"
        ) ;_ end of vla-AddObject
     ) ;_ end of setq
     (vla-put-name table_style ru_table_style_name) ; имя стиля
     (vla-put-description table_style "Таблицы ruCAD по СПДС")
     (vla-put-flowdirection table_style 0) ; направление (?)
     (vla-put-horzcellmargin table_style 0.5)
     (vla-put-vertcellmargin table_style 0.5)
     (vla-setbackgroundcolornone table_style 7 :vlax-true)
     (vla-put-headersuppressed table_style :vlax-false)
     (vla-put-titlesuppressed table_style :vlax-false)
     (vla-setgridvisibility
       table_style
       (+ achorzinside acvertinside achorztop ;|achorzbottom|;
          acvertleft acvertright) ;_ end of +
       actitlerow
       :vlax-false
     ) ;_ end of vla-SetGridVisibility
     (vla-setgridvisibility
       table_style
       achorzbottom
       actitlerow
       :vlax-true
     ) ;_ end of vla-setgridvisibility

     (vla-setgridvisibility
       table_style
       (+ achorzinside     acvertinside     achorztop
          achorzbottom     acvertleft       acvertright
         ) ;_ end of +
       (+ acdatarow acheaderrow)
       :vlax-true
     ) ;_ end of vla-SetGridVisibility
     (vla-setgridlineweight
       table_style
       (+ achorzinside achorztop achorzbottom acvertright acvertleft)
       (+ acdatarow acheaderrow actitlerow)
       aclnwt050
     ) ;_ end of vla-SetGridLineWeight
     ;; В объединенных ячейках, где ряд одновременно и данные и
     ;; заголовок
     ;; нижняя граница шапки тонкая. Надо изменять у ячейки
     (vla-setgridlineweight
       table_style
       (+ achorzinside ;|acvertinside|;)
       (+ acdatarow)
       aclnwtbylwdefault
     ) ;_ end of vla-setgridlineweight
      (ru-splash-hide)

   ) ;_ end of progn
 ) ;_ end of if
  ru_table_style_name
)
Может быть пригодится.
Что делают отсутствующие функции с префиксами ru_ понятно из названий. Но создать стиль мало, для реального применения ещё два десятка функций используются.
ShaggyDoc вне форума  
 
Непрочитано 20.12.2009, 02:37
#22
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
для реального применения ещё два десятка функций используются
Не считал, но, по-моему, поболее потребоваться может...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание нового стиля таблиц AutoCAD 2006 (VL)

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Видеоуроки AutoCAD kosmax AutoCAD 173 17.02.2017 15:08
Создание пользовательских кнопок в AutoCAD 2006 Shoorup AutoCAD 54 02.02.2014 21:50
Информация по идентификационным кодам программ в сетевых лицензиях Autodesk KSI AutoCAD 1 14.09.2009 15:59
AUTOCAD 2006 Aragorn AutoCAD 14 01.04.2005 00:55
Вчера AutoDesk объявила о выходе нового AutoCAD 2006!!!!!!!! URKA AutoCAD 9 01.04.2004 20:06