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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как-бы ярлычки листов расположить в 2 ряда

Как-бы ярлычки листов расположить в 2 ряда

Ответ
Поиск в этой теме
Непрочитано 23.01.2008, 13:50
Как-бы ярлычки листов расположить в 2 ряда
Witalij
 
AL-остекление, фасадка, оконка
 
Москва
Регистрация: 25.07.2007
Сообщений: 113

Акад 2006 рус.
В файле от 25 до 70 листов - все ярлыки листов на экране не видно, переключаться между листами геморно.

Пробовал программу Docbar (http://dwg.ru/dnl/3344, она открытые файлы располагает в виде ярлыков, как у листа), хочется что-то подобное, только для ярлыков листа, причём с возможностью расположения их в 2-3 ряда. Тогда можно будет отключить акадовские ярлыки.

Кто-нибудь подобное видел??
__________________
Фасадку черчу...
Просмотров: 22108
 
Непрочитано 25.01.2008, 00:56
1 | #21
Кулик Алексей aka kpblc
Moderator

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


Для сортировки (с указанием пространства модели) можно использовать такое:
Код:
[Выделить все]
(vl-load-com)
(defun dwgru-layouts-list (doc)
  (or doc (setq doc (vla-get-activedocument (vlax-get-acad-object))))
  (vl-sort
    ((lambda (/ res)
       (vlax-for item (vla-get-layouts doc)
         (setq res (cons item res))
         ) ;_ end of vlax-for
       ) ;_ end of lambda
     )
    '(lambda (a b)
       (< (vla-get-taborder a) (vla-get-taborder b))
       ) ;_ end of lambda
    ) ;_ end of vl-sort
  ) ;_ end of defun
В результате весь код станет примерно такого типа:
Код:
[Выделить все]
(vl-load-com)
(defun dwgru-layouts-list (doc)
  (or doc (setq doc (vla-get-activedocument (vlax-get-acad-object))))
  (vl-sort
    ((lambda (/ res)
       (vlax-for item (vla-get-layouts doc)
         (setq res (cons item res))
         ) ;_ end of vlax-for
       ) ;_ end of lambda
     )
    '(lambda (a b)
       (< (vla-get-taborder a) (vla-get-taborder b))
       ) ;_ end of lambda
    ) ;_ end of vl-sort
  ) ;_ end of defun

;;;Layout switch
(defun c:ls (/ _dwgru-get-user-dcl ret)
;;; ************************************************************************
;;; * Библиотека DWGruLispLib Copyright ©2008  DWGru Programmers Group
;;; *
;;; * _dwgru-get-user-dcl (Кандидат)
;;; *
;;; * Запрос значения у пользователя через диалоговое окно
;;; *
;;; *
;;; * 21/01/2008 Версия 0001. Редакция Владимир Азарко (VVA)
;;; ************************************************************************

  (defun _dwgru-get-user-dcl (zagl info-list multi / fl ret dcl_id msg)
                             ;|
* Запрос значения у пользователя через диалоговое окно
* Диалог формируется "налету"
* Параметры вызова:
    zagl - заголовок окна [String]
    info-list - список строковых значений[List of String]
    multi - t - разрешен множественный выбор, nil- нет
    
* Возвращает:
 Список выбранных строк или nil - отмена
* Пример
 (_dwgru-get-user-dcl "Укажите вариант" '("Первый" "Второй" "Третий") nil) ->("Первый") 
 (_dwgru-get-user-dcl "Укажите вариант" '("Первый" "Второй" "Третий") t) ->("Первый" "Второй") 
|;
    (if (null zagl)
      (setq zagl "Выбор")
      ) ;_ end if
    (setq fl (vl-filename-mktemp "dwgru" nil ".dcl"))
    (setq ret (open fl "w"))
    (mapcar '(lambda (x) (write-line x ret))
            (list "dwgru_msg : dialog { "
                  (strcat "label=\"" zagl "\";")
                  " :list_box {"
                  "alignment=top ;"
                  (if multi
                    "multiple_select = true ;"
                    "multiple_select = false ;"
                    ) ;_ end of if
                  "width=31 ;"
                  (if (> (length info-list) 26)
                    "height= 26 ;"
                    (strcat "height= " (itoa (+ 3 (length info-list))) ";")
                    ) ;_ end of if
                  "is_tab_stop = false ;"
                  "key = \"info\";}"
                  "ok_cancel;}"
                  ) ;_ end of list
            ) ;_ end of mapcar
    (setq ret (close ret))
    (if (and (null (minusp (setq dcl_id (load_dialog fl))))
             (new_dialog "dwgru_msg" dcl_id)
             ) ;_ end and
      (progn (start_list "info")
             (mapcar 'add_list info-list)
             (end_list)
             (set_tile "info" "0")
             (setq ret "0")
             (action_tile "info" "(setq ret $value)")
             (action_tile "cancel" "(done_dialog 0)")
             (action_tile "accept" " (done_dialog 1)")
             (if (zerop (start_dialog))
               (setq ret nil)
               (setq ret (mapcar (function (lambda (num) (nth num info-list)))
                                 (read (strcat "(" ret ")"))
                                 ) ;_ end mapcar
                     ) ;_ end setq
               ) ;_ end if
             (unload_dialog dcl_id)
             ) ;_ end of progn
      ) ;_ end of if
    (vl-file-delete fl)
    ret
    ) ;_ end of defun
  (vl-load-com)
  (and
    (setq
      ret
       (car (_dwgru-get-user-dcl
              "Выберите лист"
              (mapcar 'vla-get-name (dwgru-layouts-list nil))
              nil
              ) ;_ end of _dwgru-get-user-dcl
            ) ;_ end of car
      ) ;_ end of setq
    (setvar "CTAB" ret)
    ) ;_ end of and
  (princ)
  ) ;_ end of defun
Первоначальные тесты капитальных глюков не показали...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 25.01.2008, 05:36
#22
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


Цитата:
Сообщение от voodoo Посмотреть сообщение
Поддержую. Вот у меня был недавно РП-150 листов. Я всегда делаю подшивку-с ней очень удобно. Весь проект виден как на ладоне, к тому же организую в групы... К тому же распечатка всего проекта - только нажатием одной кнопки - и вуаля. Советую переходить на работы с подшивками.
Объясни что такое подшивки в чем их приемущества, и в чем недостатки, если они настолько хороши, то почему повсеместно
их не используют?
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 25.01.2008, 05:52
#23
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


VVA спасибо за лисп Кулик Алексей aka kpblc спасибо за доработку
действительно наинужнейший лисп

Преложение:
1. Как в появившемся окошко для выбора страниц появлялись все листы сразу, без скролера. т.е. увеличить окошко или распологать в несколько рядов в зависимости от количества листов.
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 25.01.2008, 09:33
1 | #24
VVA

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


>dextron
За высоту диалогового окна в функции _dwgru-get-user-dcl отвечают эти строчки
Код:
[Выделить все]
 
(if (> (length info-list) 26)
"height= 26 ;"
(strcat "height= " (itoa (+ 3 (length info-list))) ";")
) ;_ end of if
И цифра 26 за кол-во строк без скроллинга. Замени по своему усмотрению
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 25.01.2008, 09:44
#25
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Так ведь если задать height, например, 120, то диалоговое окно вылезет за пределы экрана?
Profan вне форума  
 
Автор темы   Непрочитано 25.01.2008, 09:53
#26
Witalij

AL-остекление, фасадка, оконка
 
Регистрация: 25.07.2007
Москва
Сообщений: 113
<phrase 1=


Цитата:
Сообщение от Vova Посмотреть сообщение
Пусть и не тормозит, но неудобно-же. Гораздо удобнее разделить на файлы и хранить их в одной папке. Кстати, 8 мег это в формате какого автокада?
В формате 2006 Рус.
Только 2Д
__________________
Фасадку черчу...
Witalij вне форума  
 
Непрочитано 25.01.2008, 10:11
#27
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837


Цитата:
Сообщение от dextron3 Посмотреть сообщение
Объясни что такое подшивки в чем их приемущества, и в чем недостатки
В подшивке можно объеденить несколько файлов с несколькими листами и свободно через подшивку по ним перемещаться. Так, у меня, например, в файле больше 10 листов небывает, и то если там схемки одни, если что-то посложнее, то не больше 4-х. Иначе файл становится неперевариваемым.
Список листов располагается в столбец, что позволяет дать развернутое название.
В подшивке при выборе листа показывается его уменьшенное изображение. А с вашими "очень информативными названиями листов в 3 цифры", это очень кстати.
Через подшивку удобно следить за нумерацией страниц и всевозможными ссылками с листа на лист. Так, добавить лист в середину проекта из ста листов не составит труда.
Так как у всех листов настроена печать, то можно распечатать весь проект одним нажатием на "паблиш". При этом не нужно открывать все файлы проекта.
Минусы: При создании нового листа его нужно импортировать в подшивку, сам он там не появится. Подшивка не запоминает относительные пути к файлам проекта, поэтому при перемещении файлов нарушаются связи.
Цитата:
Сообщение от dextron3 Посмотреть сообщение
, если они настолько хороши, то почему повсеместно их не используют?
А х.з. почему, вот даже в этой теме про подшивки сказали не один раз, а обратил внимание ты только сейчас, да еще и не пощупал до сих пор.
Миниатюры
Нажмите на изображение для увеличения
Название: Clip2.jpg
Просмотров: 429
Размер:	37.8 Кб
ID:	2621  

Последний раз редактировалось Krieger, 25.01.2008 в 10:51. Причина: картинку добавил
Krieger вне форума  
 
Автор темы   Непрочитано 25.01.2008, 10:13
#28
Witalij

AL-остекление, фасадка, оконка
 
Регистрация: 25.07.2007
Москва
Сообщений: 113
<phrase 1=


Сенкс, приложение работает, не глючит.
Вот только хочется, что-бы окно после выбора листа не исчезало с экрана, а выбор листа осуществлялся без нажатия кнопки ОК...
Это вроде называется - немодальное окно???
__________________
Фасадку черчу...
Witalij вне форума  
 
Непрочитано 25.01.2008, 10:16
#29
Кулик Алексей aka kpblc
Moderator

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


И пишется на VBA / arx / .NET
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 25.01.2008, 10:42
#30
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


Кулик Алексей aka kpblc, а за расположение в два ряда какой аргумент изменить?
Кулик Алексей aka kpblc, а если двойной щелчок на выбор листа подвесить?

Больше 70 уже не влазиет в экран выдает ошибку, а это только половина листов
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 25.01.2008, 11:06
#31
vadim_evg1


 
Регистрация: 08.01.2007
Рус
Сообщений: 398


>Krieger
Насчет подшивок поддерживаю, тока далеко не все могут с ними работать


У меня это выглядит примерно так:
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 382
Размер:	35.8 Кб
ID:	2622  
vadim_evg1 вне форума  
 
Непрочитано 25.01.2008, 21:06
#32
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Обычно принято сохранять в формате более старой версии, чтобы не было конфуза у тех, кто не догоняет новейшие версии. У тебя получится вдвое тяжелей
Vova вне форума  
 
Непрочитано 28.01.2008, 00:39
#33
Yura

ЦТП, котельные, отопление, вентиляция
 
Регистрация: 21.02.2007
Кишинев
Сообщений: 548
<phrase 1= Отправить сообщение для Yura с помощью Skype™


А я вобще не пойму, чего мешает разработчикам Autodesc-а сделать одну кнопку с раскрывающимся списком layout-ов на весь экран в высоту и с полосой прокрутки, если надо. В конце концов, какая им разница, сколько layout-ов в файле, а раз так, то зачем так сильно ограничивать функциональность перехода с одного на другой, если у них длинноватые названия и их, к примеру, больше 10?
ЗЫ: А еще такая штука увеличила бы размер рабочего пространства, т.к. полоски со вкладками layout-ов больше бы не было...
Yura вне форума  
 
Непрочитано 28.01.2008, 09:55
4 | #34
VVA

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


Цитата:
Сообщение от dextron3 Посмотреть сообщение
Кулик Алексей aka kpblc, а за расположение в два ряда какой аргумент изменить?
Кулик Алексей aka kpblc, а если двойной щелчок на выбор листа подвесить?

Больше 70 уже не влазиет в экран выдает ошибку, а это только половина листов
Я тут на выходных немного усовершенствовал _DWGRU-GET-USER-DCL
Название команды осталось прежнее: LS
Код:
[Выделить все]
(vl-load-com)
(defun dwgru-layouts-list (doc)
  (or doc (setq doc (vla-get-activedocument (vlax-get-acad-object))))
  (vl-sort
    ((lambda (/ res)
       (vlax-for item (vla-get-layouts doc)
         (setq res (cons item res))
         ) ;_ end of vlax-for
       ) ;_ end of lambda
     )
    '(lambda (a b)
       (< (vla-get-taborder a) (vla-get-taborder b))
       ) ;_ end of lambda
    ) ;_ end of vl-sort
  ) ;_ end of defun
;;; ************************************************************************
;;; * Библиотека DWGruLispLib Copyright ©2008  DWGru Programmers Group
;;; *
;;; * _dwgru-get-user-dcl (Кандидат)
;;; *
;;; * Запрос значения у пользователя через диалоговое окно
;;; *
;;; *
;;; * 26/01/2008 Версия 0002. Редакция Владимир Азарко (VVA)
;;;              - Выход по двойному клику, если запрещен множественный выбор (multi-nil)
;;;              - Обработка нескольких колонок
;;; * 21/01/2008 Версия 0001. Редакция Владимир Азарко (VVA)
;;; ************************************************************************
 
(defun _DWGRU-GET-USER-DCL (ZAGL        INFO-LIST   MULTI
                            /           FL          RET
                            DCL_ID      MAXROW      MAX_COUNT_COL
                            COUNT_COL   I           LISTBOX_HEIGHT
                            LST         _LOC_FINISH _LOC_CLEAR
                            NCOL
                           )
                           ;|
* Запрос значения у пользователя через диалоговое окно
* Диалог формируется "налету"
* Количество строк на страницу без скроллинга задается переменной MAXROW.
* Необходимо помнить, что число MAXROW увеличивается на 3.
* Максимальное количество колонок задается переменной MAX_COUNT_COL
* Параметры вызова:
    zagl - заголовок окна [String]
    info-list - список строковых значений[List of String]
    multi - t - разрешен множественный выбор, nil- нет
 
* Возвращает:
 Список выбранных строк или nil - отмена
* Пример
 (_dwgru-get-user-dcl "Укажите вариант" '("Первый" "Второй" "Третий") nil) ;_->("Первый") 
 (_dwgru-get-user-dcl "Укажите вариант" '("Первый" "Второй" "Третий") t) ;_->("Первый" "Второй")
 (_dwgru-get-user-dcl "Укажите вариант"
   (progn (setq i 0 lst nil)(repeat 205 (setq lst (cons (strcat "Значение-" (itoa (setq i (1+ i)))) lst)))(reverse lst)) nil)
 (_dwgru-get-user-dcl "Укажите вариант, используя CTRL и SHIFT для выбора"
   (progn (setq i 0 lst nil)(repeat 205 (setq lst (cons (strcat "Значение-" (itoa (setq i (1+ i)))) lst)))(reverse lst)) t)
|;
 ;_ ===== КОНСТАНТЫ ============
  (setq MAXROW 40) ;_мак. кол-во строк без скроллинга (К нему дальше добавится еще 3 строчки)
  (setq MAX_COUNT_COL 5) ;_максимальное количество колонок
;;;==================== Локальные фунцкции START==================================
  (defun _LOC_FINISH ()
    (setq I   0
          RET NIL
    ) ;_ end ofsetq
    (repeat COUNT_COL
      (setq I (1+ I))
      (setq RET (cons (cons I (get_tile (strcat "info" (itoa I)))) RET))
    ) ;_ end ofrepeat
    (setq RET (reverse RET))
    (done_dialog 1)
  ) ;_ end ofdefun
  (defun _LOC_CLEAR (NOMER)
    (setq I 0)
    (repeat COUNT_COL
      (setq I (1+ I))
      (if (/= I NOMER)
        (progn
          (start_list (strcat "info" (itoa I)))
          (mapcar 'add_list (nth (1- I) LST))
          (end_list)
        ) ;_ end ofprogn
      ) ;_ end ofif
    ) ;_ end ofrepeat
  ) ;_ end ofdefun
;;;==================== Локальные фунцкции END ==================================
;;;==================== MAIN PART ===============================================
  (if (null ZAGL)
    (if (= (getvar "DWGCODEPAGE") "ANSI_1251")
      (setq ZAGL "Выбор")
      (setq ZAGL "Select")
    ) ;_ end ofif
  ) ;_ end if
  (if (zerop (rem (length INFO-LIST) MAXROW)) ;_Целое количество столбцов
    (setq COUNT_COL (/ (length INFO-LIST) MAXROW)) ;_Его и оставляем
    (setq COUNT_COL (1+ (fix (/ (length INFO-LIST) MAXROW 1.0)))) ;_Берем ближайшее целое
  ) ;_ end ofif
  (if (> COUNT_COL MAX_COUNT_COL)
    (setq COUNT_COL MAX_COUNT_COL)
  ) ;_Ограничиваем max количеством
  (setq LISTBOX_HEIGHT (+ 3 MAXROW)) ;_  добавляем 3 строчки для красоты и для исключения пограничного скроллинга
  (if (and (= COUNT_COL 1) (<= (length INFO-LIST) MAXROW))
    (setq LISTBOX_HEIGHT (+ 3 (length INFO-LIST)))
  ) ;_ end ofif
  (setq I 0)
  (setq FL (vl-filename-mktemp "dwgru" NIL ".dcl"))
  (setq RET (open FL "w")
        LST NIL
  ) ;_ end ofsetq
  (mapcar '(lambda (X) (write-line X RET))
          (append (list "dwgru_get_user : dialog { "
                        (strcat "label=\"" ZAGL "\";")
                        ": boxed_row {"
                        (if (= (getvar "DWGCODEPAGE") "ANSI_1251")
                          "label = \"Значение\";"
                          "label = \"Value\";"
                        ) ;_ end ofif
                  ) ;_ end oflist
                  (repeat COUNT_COL
                    (setq LST
                           (append
                             LST
                             (list
                               " :list_box {"
                               "alignment=top ;"
                               (if MULTI
                                 "multiple_select = true ;"
                                 "multiple_select = false ;"
                               ) ;_ end ofif
                               "width=31 ;"
                               (strcat "height= " (itoa LISTBOX_HEIGHT) " ;")
                               "is_tab_stop = false ;"
                               (strcat "key = \"info" (itoa (setq I (1+ I))) "\";}")
                             ) ;_ end oflist
                           ) ;_ end ofappend
                    ) ;_ end ofsetq
                  ) ;_ end ofrepeat
                  (list
                    "}"
                    ":row{"
                    "ok_cancel_err;}}"
                  ) ;_ end oflist
          ) ;_ end of list
  ) ;_ end of mapcar
  (setq RET (close RET))
  (if (and (null (minusp (setq DCL_ID (load_dialog FL))))
           (new_dialog "dwgru_get_user" DCL_ID)
      ) ;_ end and
    (progn
      (setq LST INFO-LIST)
      ((lambda (/ RET1 BUF ITM)
         (repeat (1- COUNT_COL)
           (setq I '-1)
           (while (and (setq ITM (car LST))
                       (< (setq I (1+ I)) MAXROW)
                  ) ;_ end ofand
             (setq BUF (cons ITM BUF)
                   LST (cdr LST)
             ) ;_ end ofsetq
           ) ;_ end ofwhile
           (setq RET1 (cons (reverse BUF) RET1)
                 BUF  NIL
           ) ;_ end ofsetq
         ) ;_ end ofrepeat
         (setq RET RET1)
       ) ;_ end oflambda
      )
      (if LST
        (setq RET (cons LST RET))
      ) ;_ end ofif
      (setq LST (reverse RET))
      (setq I 0)
      (mapcar '(lambda (THIS_LIST)
                 (if (<= (setq I (1+ I)) COUNT_COL)
                   (progn
                     (start_list (strcat "info" (itoa I)))
                     (mapcar 'add_list THIS_LIST)
                     (end_list)
                   ) ;_ end ofprogn
                 ) ;_ end ofif
               ) ;_ end oflambda
              LST
      ) ;_ end ofmapcar
      (set_tile "info1" "0")
      (setq I 0
            NCOL 1
      ) ;_ end ofsetq
      (repeat COUNT_COL
        (action_tile
          (strcat "info" (itoa (setq I (1+ I))))
          (strcat "(progn (setq Ncol "
                  (itoa I)
                  ")(if (not multi)(_loc_clear Ncol))"
                  "(if (and (not multi)(= $reason 4))(_loc_finish)))"
          ) ;_ end ofstrcat
        ) ;_ end ofaction_tile
      ) ;_ end ofrepeat
      (action_tile "cancel" "(done_dialog 0)")
      (action_tile "accept" "(_loc_finish)")
      (if MULTI
        (set_tile "error"
                  (if (= (getvar "DWGCODEPAGE") "ANSI_1251")
                    "Используйте CTRL и SHIFT для выбора"
                    "Use CTRL and SHIFT for a choicet"
                  ) ;_ end ofif
        ) ;_ end ofset_tile
        (set_tile "error"
                  (if (= (getvar "DWGCODEPAGE") "ANSI_1251")
                    "Можно выбирать двойным щелчком"
                    "It is possible to choose double click"
                  ) ;_ end ofif
        ) ;_ end ofset_tile
      ) ;_ end ofif
      (if (zerop (start_dialog))
        (setq RET NIL)
        (progn
          (setq
            RET (apply
                  'append
                  (mapcar
                    '(lambda (ITM)
                       (setq THIS_LIST (nth (1- (car ITM)) LST))
                       (mapcar
                         (function (lambda (NUM) (nth NUM THIS_LIST)))
                         (read (strcat "(" (cdr ITM) ")"))
                       ) ;_ end ofmapcar
                     ) ;_ end oflambda
                    RET
                  ) ;_ end ofmapcar
                ) ;_ end ofapply
          ) ;_ end ofsetq
        ) ;_ end ofprogn
      ) ;_ end if
      (unload_dialog DCL_ID)
    ) ;_ end of progn
  ) ;_ end of if
  (vl-file-delete FL)
  RET
) ;_ end ofdefun
;;;Layout switch
http://dwg.ru/f/showthread.php?t=168...=layout&page=2
(defun c:ls ( / ret)
 (vl-load-com)
  (and
    (setq
      ret
       (car (_dwgru-get-user-dcl
              "Выберите лист"
              (mapcar 'vla-get-name (dwgru-layouts-list nil))
              nil
              ) ;_ end of _dwgru-get-user-dcl
            ) ;_ end of car
      ) ;_ end of setq
    (setvar "CTAB" ret)
    ) ;_ end of and
  (princ)
  ) ;_ end of defun
(princ "\nНаберите LS в командной строке")
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 27.02.2008 в 17:36. Причина: Название команды
VVA вне форума  
 
Непрочитано 28.01.2008, 10:00
#35
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


Действительно в АвтоКАД Рапторе (т.е. 2009)
эта функция встроена, на подобие ДОКБАР,
там панелька с листами также перетягивается и формируется как обычные,

Еще можно не открывая чертеж посмотреть сколько в нем лайаутов
и что на них изображено.

Действительно не для слабых компьютеров.
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 28.01.2008, 10:09
#36
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


VVA, наверное нет ничего не возможного что можно сделать на лиспе...

СПАСИБО

PS. А можно сделать чтобы при выборе листа в лиспе,
выбранный лист был на середине листовой панели, а не в самом начале?
__________________
инженер проектировшик с опттом программа авто гад образование высшие

Последний раз редактировалось dextron3, 15.02.2023 в 14:11.
dextron3 вне форума  
 
Непрочитано 28.01.2008, 10:13
#37
VVA

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


Цитата:
Сообщение от dextron3 Посмотреть сообщение
PS. А можно сделать чтобы при выборе листа в лиспе,
выбранный лист был на середине листовой панели, а не в самом начале?
Я пока не знаю, что тебе на это ответить. Поэтому пока ни да, ни нет.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 28.01.2008, 11:09
#38
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


VVA, я придумал алгоритм как можно сделать, но боюсь тормозить будет:

1. Выбор листа двойным щелком
2. Замер количества листов на экране (именно количестов которое помещается на экране)
3. Количество листов делить на 2
4. Выбранный лист минус количество листов / 2
5. Выбирается предыдущий (см. пункт 4) лист так как он будет вначале листовой панели, то выбранный нами лист окажется посредине.
6. Выбор листа из пункта 1.
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 27.02.2008, 16:15
#39
Hans667

сети
 
Регистрация: 12.04.2007
SPb
Сообщений: 539


Не правильно наверно чего-то делаю,подскажите пожалуйста,чего за дела?
Command: (_DWGRU-GET-USER-DCL)
; error: too few arguments
__________________
Errare humanum est, insipientis perseverare
Hans667 вне форума  
 
Непрочитано 27.02.2008, 16:36
#40
Кулик Алексей aka kpblc
Moderator

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


А примеры, предоставленные VVA в коде, прочитать не судьба?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как-бы ярлычки листов расположить в 2 ряда



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как именно настроить параметры нового чертежа? Макс_Северянин AutoCAD 31 01.09.2010 10:16
Мониторы LCD CRT Разное 94 17.06.2008 10:51
ЮМОР 2006 =) Perezz!! Разное 1122 04.01.2007 00:46