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

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

Lisp/ActiveX Вылеты при создании большой таблицы.

Ответ
Поиск в этой теме
Непрочитано 06.08.2013, 00:55 #1
Lisp/ActiveX Вылеты при создании большой таблицы.
Kirill_Ja
 
Мурманск
Регистрация: 28.07.2008
Сообщений: 208

Создаю и заполняю таблицу. При заполнении более 200 строк вылетает.
Код:
[Выделить все]
 
(defun ad_table_draw (values point table_name is_count / Model_sp table num mass al tmass)

;;;Прога рисует таблицу для вхождения блока
(if is_count
  (setq table_name (strcat table_name
			 " ("
			 (itoa
			   (length
			     (tg_enames_from_ss_blocks
			       (list table_name)
			       (ssget "_X" (list (cons 0 "INSERT")))
			      )
			     )
			   )
			 " шт.)"))
 );_if

(tg_set_layer "AD_Table" 0 7 15)
(setq tmass 0) 
(setq Model_sp (vla-get-ModelSpace curent_doc))
(setq Table (vla-Addtable Model_sp (vlax-3D-point point) (+ 3 (length values)) 5 30 1200))
(vla-SetColumnWidth Table 0 400)
(vla-SetColumnWidth Table 1 1500)
(vla-SetColumnWidth Table 2 500)
(vla-SetColumnWidth Table 3 900)
(vla-SetColumnWidth Table 4 500)
(vla-put-StyleName Table "AD_Table_Style")
(vla-SetText Table 0 0 table_name)
(vla-SetText Table 1 0 "Поз")
(vla-SetText Table 1 1 "Наименование")
(vla-SetText Table 1 2 "Длина")
(vla-SetText Table 1 3 "Количество")
(vla-SetText Table 1 4 "Масса")

(setq num 2)  
(mapcar (function (lambda (x)

		(vla-SetText Table num 0 (vl-princ-to-string(1- num)))
		(vla-SetText Table num 1 (caddr x))
		(vla-SetText Table num 2 (rtos (cadr x) 2 0))
		(vla-SetText Table num 3 (car x))
		(vla-SetText Table num 4 (rtos (setq mass (/ (* (car x) (cadr x) (cadddr x)) 1000)) 2 2))
		(setq tmass (+ tmass mass))
		(if (zerop mass) (setq al t))
		(setq num (1+ num))
		    )) values)
(vla-SetText Table num 3 "Итого:")
(vla-SetText Table num 4 (rtos tmass 2 2))
(vla-ScaleEntity Table (vlax-3D-point point) bscale)
(vla-Move Table (vlax-3d-point '(0 0 0)) (vlax-3d-point (list (- 0 (vla-get-Width Table)) 0 0)))
(if al (alert "ВНИМАНИЕ!!! Значение массы элемента равно 0!"))
);end defun

Можно как-то это решить.
AutoCad 2006
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Просмотров: 1514
 
Непрочитано 06.08.2013, 01:22
#2
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Попробуй сразу после создания таблицы и до её заполнения:
Код:
[Выделить все]
 (vla-put-RegenerateTableSuppressed Table :vlax-true)
А после заполнения:
Код:
[Выделить все]
 (vla-put-RegenerateTableSuppressed Table :vlax-false)
(vla-RecomputeTableBlock Table :vlax-true)
Александр Ривилис вне форума  
 
Непрочитано 06.08.2013, 14:04
#3
VVA

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


В дополнение к #2 Почитай здесь начиная с 4 поста
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 06.08.2013 в 22:16.
VVA вне форума  
 
Автор темы   Непрочитано 06.08.2013, 20:44
#4
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


А "здесь" это где?
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
 
Непрочитано 06.08.2013, 22:16
#5
VVA

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


Поправил #3
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp/ActiveX Вылеты при создании большой таблицы.



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка ПОС, искусство проектирования Tyhig Технология и организация строительства 117 25.11.2021 17:38
Аттестация в Минрегионе по негосударственной экспертизе Людмила Охр Прочее. Архитектура и строительство 350 14.02.2015 17:50
Глюк: создание "безымянного" слоя при создании объектов СПДС и размеров.. AlexV Прочее. Программное обеспечение 22 21.11.2011 10:03
FILTER / фильтр BM60 Справочник команд 0 08.07.2008 15:35
Моделирование больших объектов Ярослав AutoCAD 1 15.01.2004 02:48