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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > DCL Зависимости в выпадающих списках

DCL Зависимости в выпадающих списках

Ответ
Поиск в этой теме
Непрочитано 04.02.2015, 17:22 #1
DCL Зависимости в выпадающих списках
sdv79
 
Инженер ЭОМ
 
Москва
Регистрация: 05.03.2009
Сообщений: 215

В окне три выпадающих списка.
1 Выбор нижнего влияет на первый и второй
2 Выбор среднего на верхний
3 Верхний на заполняемость ячеек
Не получается сформировать данную зависимость
Смотрел у Полещук, на форуме не нашел.

Вложения
Тип файла: zip DB.ZIP (17.5 Кб, 32 просмотров)

Просмотров: 3940
 
Непрочитано 04.02.2015, 20:09
#2
skkkk


 
Регистрация: 20.03.2008
Сообщений: 2,680


Как вообще все это дело запустить? Сразу же при загрузке lsp вылетает ошибка "неверный тип аргумента: stringp nil". И затем ни одна из определенных в лиспе функций не отрабатывает. Все файлы на пути поддержки сложил. Что-то делаю не так? Разбираться почему так, нет ни времени ни желания.
skkkk вне форума  
 
Автор темы   Непрочитано 04.02.2015, 20:34
#3
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


Нужно по умолчанию распаковать по пути (setq adres_db "d:\\DB\\"), или отредактировать данную переменную. В ACADе Сервис-Настройка-Файлы
добавить путь к папке в разделе "Путь доступа к вспомогательным файлам"
sdv79 вне форума  
 
Непрочитано 04.02.2015, 21:16
#4
Кулик Алексей aka kpblc
Moderator

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


Скажем так: попытки слету разобраться в коде как-то у меня не увенчались успехом. Основная проблема в формате данных и чтении оттуда.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 05.02.2015, 08:20
#5
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


Данные из светотехнических файлов читаются без проблем - это финальная стадия. Сначала необходимо заставить модуль понимать обновление Изготовитель и Монтаж. Я полагаю в strcat что то должно быть добавлено, т.к это отвечает за выбор пользователя. Как это сделать?
Код:
[Выделить все]
 
(start_list "Izgotovit") ; Изготовитель
  (mapcar 'add_list *izgotov) ;/ mapcar
 (end_list)
 (set_tile "Izgotovit" Izgotovit)
 (action_tile "Izgotovit"
              (strcat "(setq Izgotovit $value)"
		      "(setq Izgotovit_name (nth (atoi $value) *izgotov))"
		   
		      ) ;/  strcat
 ) ;/ action_tile
sdv79 вне форума  
 
Непрочитано 05.02.2015, 09:58
#6
trushev


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


Цитата:
Сообщение от sdv79 Посмотреть сообщение
(action_tile "Izgotovit"06 (strcat "(setq Izgotovit $value)"07 "(setq Izgotovit_name (nth (atoi $value) *izgotov))"08 09 ) ;/ strcat10 ) ;/ action_tile
strcat лишнее

(action_tile "Izgotovit"
"(setq Izgotovit $value Izgotovit_name (nth (atoi $value) *izgotov) (done-dialog 2)"
) ;/ action_tile

Зациклить открытие, закрытие окна. Думаю поможет.
trushev вне форума  
 
Автор темы   Непрочитано 05.02.2015, 10:15
#7
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


Выдает- ошибка: no function definition: DONE-DIALOG, вероятно вы забыли вторую скобку у *izgotov)), это не помогло.
sdv79 вне форума  
 
Непрочитано 05.02.2015, 10:28
#8
trushev


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


Цитата:
Сообщение от sdv79 Посмотреть сообщение
no function definition: DONE-DIALOG
Давно не писал, забыл - done_dialog

----- добавлено через ~5 мин. -----
(setq k 2)
(while (> k 1)
.......
.......
(setq k (start_dialog))
....
);while

Последний раз редактировалось trushev, 05.02.2015 в 10:35.
trushev вне форума  
 
Автор темы   Непрочитано 05.02.2015, 11:07
#9
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


Спасибо, для первых двух условий подходит, работает и со strcat))
Остался третий вопрос
Код:
[Выделить все]
 
 (start_list "Tip_OP") ; тип ОП
  (mapcar 'add_list *name_LDT_IES) ;/ mapcar
 (end_list)
 (set_tile "Tip_OP" Tip_OP)
 (action_tile "Tip_OP"
              (strcat "(setq Tip_OP $value)"
		      "(setq Tip_OP_name (nth (atoi $value) *name_LDT_IES))"
		      "(c:diiip)"                 ; ВОЗМОЖНО ЭТО НЕ НУЖНО
		       "(done_dialog 2)"   ; ВОЗМОЖНО ЭТО НЕ НУЖНО
	      ) ;/  strcat
 ) ;/ action_tile
Выдает имя файла который нужно считать, далее (c:diiip) считывает все данные и происходит заполнение ячеек.
Код:
[Выделить все]
  (set_tile    "Pol_M_OP" Pol_M_OP) ; "Полная мощность ОП"
 (action_tile "Pol_M_OP" "(setq Pol_M_OP $value)")
Отработал первый код, потом (c:diiip) выдает новую переменную в соответствии с выбором программы, новую Pol_M_OP записываем в ячейку
Что сюда вставить, чтобы была актуальная информация.
Пробовал
Код:
[Выделить все]
 (action_tile "Cosf" "(setq Cosf $value) (c:diiip")  
не получилось
sdv79 вне форума  
 
Непрочитано 05.02.2015, 12:22
#10
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,834
<phrase 1=


К сожалению отладка преобразований в DCL крайне неприятна и непонятна.
Давно не брал я в руки шашки...
Помнится мне, что обычно сложные конструкции в action_tile я обкладывал (progn .... ).
Типа так:
Код:
[Выделить все]
	(action_tile
	  "DSA5"
	  "(progn (setq bzn5 $value)(set_tile \"DK1\" (setq zn1 (rtos (* (atof bzn4) (atof (if (= 0.0 (atof bzn6)) bzn5 bzn6))) 2 2)))
		(setq spk1 (subst-i (atoi nstr) zn1 spk1))(setq sp5 (subst-i (atoi nstr) bzn5 sp5))
		(set_tile \"DK13\" (setq zn13 (rtos (if (= 0.0 (atof bzn6)) 0.0 (* (atof bzn45) (- (atof bzn5) (atof bzn6)))) 2 2)))(setq spk13 (subst-i (atoi nstr) zn13 spk13))
		)"
	) ;_ конец action_tile
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Непрочитано 05.02.2015, 12:44
#11
Кулик Алексей aka kpblc
Moderator

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


Offtop: Я так понимаю, что надо написать статейку, каким манером я для своих задач решаю проблемы с dcl
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.

Последний раз редактировалось Кулик Алексей aka kpblc, 05.02.2015 в 17:47.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 05.02.2015, 14:58
#12
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


Заработало, были лишние условия для констант.
sdv79 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > DCL Зависимости в выпадающих списках



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка ПОС, искусство проектирования Tyhig Технология и организация строительства 117 25.11.2021 17:38
Можно ли осуществлять автоматические расчеты в Автокад в зависимости от количества элементов на чертеже Tatyana2 Поиск литературы, чертежей, моделей и прочих материалов 1 09.10.2014 09:17
Как удалить геометрические зависимости когда их много? Click-Clack AutoCAD 8 16.02.2013 20:58