Проблема з командой _-insert - Страница 2
Реклама i
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Проблема з командой _-insert

Проблема з командой _-insert

Ответ
Поиск в этой теме
Непрочитано 13.04.2009, 11:25
Проблема з командой _-insert
tolapap
 
Регистрация: 13.04.2009
Сообщений: 15

При использовании функции Autocad зависает!
В чом ошибка ?

Код:
[Выделить все]
(defun prof ( / dcl_id all dx dy) 
(alert "\nЖдите..  Программа загружается …") 
(setq dcl_id (load_dialog "C:\\Program Files\\AutoCAD 2009\\AcadLsp\\St_prof\\prof.dcl")) 
(new_dialog "prof" dcl_id) 
(action_tile "cancel" "(done_dialog 0)") 
(action_tile "accept" "( insertprof)") 
; Имена изображений 
(setq all 
  (list "001" "002" )) 
(start_list "names") 
(mapcar 'add_list all) 
(end_list) 
; Отметка первого в списке имени 
(set_tile "names" "0") 
; Размеры левого графического элемента 
(setq dx (dimx_tile "sld1") dy (dimy_tile "sld1")) 
; Загрузка первого слайда 
(start_image "sld1") 
(slide_image 0 0 dx dy "My(001)") 
(end_image) 
; Обработка выбора имени в списке 
(action_tile "names" "(change_s $value all dx dy)") 
(start_dialog) 
(unload_dialog dcl_id) 
); defun slide 
; Функция при нажатии на ОК! 
(defun insertprof() 
(alert "Кнопка ОК!") 
(setvar "CMDECHO" 0) 
(setq old_osmode (getvar "OSMODE")) 
(setvar "OSMODE" 0) 
(command "_-INSERT" "C:\\Program Files\AutoCAD 2009\AcadLsp\St_prof\Block\001") 
(alert "Фнкция вставки") 
(done_dialog 0) 
); 
; Функция смены слайда 
(defun change_s (sn nlist x y / i name) 
  (setq i (atoi sn) name (nth i nlist)) 
  ; Замена слайда 
  (start_image "sld1") 
  (fill_image 0 0 x y -2) 
  (slide_image 0 0 x y (strcat "My(" name ")")) 
  (end_image) 
);

Последний раз редактировалось tolapap, 13.04.2009 в 12:27.
Просмотров: 6310
 
Непрочитано 14.12.2010, 22:56
#21
skkkk


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


Спасибо, Vildar, похоже, что так оно и есть. Я видел эту галочку в интерактивном режиме (_block), но сначала забыл, что блоки в каждом из файлов создал по-своему. Что же тогда получается, что при создании блока в прозрачном режиме (_-block) опции Одинаковый масштаб нет? Или это системная переменная?

Последний раз редактировалось skkkk, 14.12.2010 в 23:07.
skkkk вне форума  
 
Непрочитано 14.12.2010, 23:23
1 | #22
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


Проверис сис. переменные, до и после. интересующих различий не нашел (проверял с помощью експрессов и екселя).
Но галочка "Одинакового масштаба" действительно где-то хранится. Потому что, сохраниет свое состояние после закрытия окна создания блока, и более того, между сеансами акада. Реестр нужно дампнуть. Где-то была утилита.

Есть контакт.
[HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R17.1\ACAD-6001:419\Profiles\Autocad\Dialogs\block_definition_dialog]
"ScaleUniform"=dword:00000001 - галка стоит
"ScaleUniform"=dword:00000000 - галка лежит

В описании блока этот параметр тоже хранится. Где?

Последний раз редактировалось Vildar, 14.12.2010 в 23:52.
Vildar вне форума  
 
Непрочитано 15.12.2010, 01:31
1 | #23
Кулик Алексей aka kpblc
Moderator

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


Теоретически она хранится в описании блока.
Код:
[Выделить все]
(vl-load-com)

(defun scaleable-blocks (make / adoc)
  ;; make -> делать блоки только с одинаковым масштабом (t) или нет (nil)
  (vla-startundomark
    (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
    ) ;_ end of vla-StartUndoMark
  (setq make (if make
               1
               0
               ) ;_ end of if
        ) ;_ end of setq
  (vlax-for blk_def (vla-get-blocks adoc)
    (if (and (not (equal blk_def (vla-get-modelspace adoc)))
             (equal (vla-get-islayout blk_def) :vlax-false)
             ) ;_ end of and
      (vla-put-blockscaling blk_def make)
      ) ;_ end of if
    ) ;_ end of vlax-for
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.12.2010, 01:50
#24
Vildar

AutoCAD
 
Регистрация: 26.07.2007
Москва
Сообщений: 1,064


Ага, для вба значица:
Цитата:
BlockScaling
AcBlockScaling enum; read-write
acAny
acUniform
Лень просто одолела.
Vildar вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Проблема з командой _-insert



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с файлом после импорта из Компас Alex 166 AutoCAD 7 22.08.2008 10:33
Проблема с ксероксом Canon PC860 _Oleg_ Разное 5 26.12.2007 10:18
Regen Holon Программирование 28 03.08.2007 15:18
Insert + entsel Gaa Программирование 11 01.06.2006 19:08