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

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

Как отредактировать некоторые плагины из пакета GTools для себя?

Ответ
Поиск в этой теме
Непрочитано 30.01.2010, 16:25 #1
Как отредактировать некоторые плагины из пакета GTools для себя?
Pozia
 
Регистрация: 07.01.2010
Сообщений: 144

Скачал пакет настроек GTools. Пытаюсь повыдирать определенные плагины в свою панель. Но без подгрузки g_tools.mns не хотят эти команды работать. Я так пологаю каждый лисп нужно как то подправить чтобы он уже был самодостаточным и выполнял свои функции без подгрузки g_tools.mns. Подскажите как это сделать. Например команда qpurge.lsp для быстрой очистки чертежа. Что в ней подправить?
Просмотров: 13032
 
Непрочитано 30.01.2010, 19:26
#2
superkot007


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


1. Создать своё меню (текстовой файл с расширением .mns) - можно просто отредактировать имеющийся g_tools.mns
2. Удалить/добавить/изменить его содержание, файлов .lsp
3. Загрузить собственное меню через _menuload
4. Настройка - Файлы - Путь доступа к вспомогательным файлам (добавляете директорию со своими файлами)
superkot007 вне форума  
 
Автор темы   Непрочитано 31.01.2010, 00:28
#3
Pozia


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


Цитата:
Сообщение от superkot007 Посмотреть сообщение
Удалить/добавить/изменить его содержание, файлов .lsp
может поможете как? я так понимаю меню g_tools.mns просто загружает эти lsp правильно. Там может все однотипно, остальные я сам догоню как.

Цитата:
Сообщение от superkot007 Посмотреть сообщение
Загрузить собственное меню через _menuload
меню свое я сделал и кучу кнопок уже вставил которые не привязаны как в данном случае к g_tools.mns. И все нормально работает.

Цитата:
Сообщение от superkot007 Посмотреть сообщение
Настройка - Файлы - Путь доступа к вспомогательным файлам (добавляете директорию со своими файлами)
это я сделал.

В общем я знаю как добавлять команды и как что где прописывать. Мне нужно именно в конкретном случае отвезать лиспы от g_tools.mns. Помогите пожалуйста.
Pozia вне форума  
 
Непрочитано 31.01.2010, 07:25
#4
Profan


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


Посмотри файлы g_tools.mnl и g_load.lsp. И вообще, не мешало бы тебе почитать про конфигурацию и адаптацию меню и вспомогательных файлов в учебнике Н.Н. Полещука, например.
Profan вне форума  
 
Непрочитано 31.01.2010, 17:18
#5
Alan

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


Цитата:
Сообщение от Pozia Посмотреть сообщение
Скачал пакет настроек GTools. Пытаюсь повыдирать определенные плагины в свою панель. Но без подгрузки g_tools.mns не хотят эти команды работать. Я так пологаю каждый лисп нужно как то подправить чтобы он уже был самодостаточным и выполнял свои функции без подгрузки g_tools.mns. Подскажите как это сделать. Например команда qpurge.lsp для быстрой очистки чертежа. Что в ней подправить?
Код:
[Выделить все]
;;-------------------------------->QUICK-PURGE<-----------------------------------;;;
;;;                   Быстрое удаление неиспользуемых объектов                     ;;;
;;;                           QPURGE.lsp Version 1.2                               ;;;
;;;                           Автор: Протасов Георгий                              ;;;
;;; Команда быстрого удаления из базы данных рисунка неиспользуемых объектов.      ;;;
;;;--------------------------------------------------------------------------------;;;

;;;Быстрое удаление из базы данных рисунка неиспользуемых объектов
(DEFUN QUICK-PURGE (/ cmdecho-save PURGE-ALL)
   ;;;Очистка файла чертежа
   (DEFUN PURGE-ALL ()
      (REPEAT 3
         (COMMAND "_.REGENALL")
         (COMMAND "_.PURGE" "_All" "" "_No")
         );REPEAT
      );DEFUN

   ;;; Основной текст функции
   (SETQ cmdecho-save (GETVAR "CMDECHO"))
   (SETVAR "CMDECHO" 0)
   (COMMAND "_.undo" "_begin")
   (PURGE-ALL)
   (COMMAND "_.undo" "_end")
   (SETVAR "CMDECHO" cmdecho-save)
   (PRINC)
   );DEFUN

(IF (OR (NULL C:QUICK-PURGE)
      (NOT (LISTP C:QUICK-PURGE))
      );OR
   (DEFUN C:QUICK-PURGE ()
      (QUICK-PURGE)
      );DEFUN
   );IF
(PRINC "\nQpurge.lsp загружен... ")
(PRINC)
>Pozia
Не все знают этот текст, надо было его привести или дать ссылку откуда он взят.
Лисп написан целиком на командных методах, поэтому легко заменяется на элементарный макрос, который публиковался здесь на форуме.
_-Purge;_All;;_No;_-Purge;_All;;_No;_-Purge;_All;;_No;
Повесь на кнопочку и не надо будет ничего грузить....
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Автор темы   Непрочитано 31.01.2010, 20:34
#6
Pozia


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


Цитата:
Сообщение от Alan Посмотреть сообщение
Не все знают этот текст, надо было его привести или дать ссылку откуда он взят.
тормазнул... )

Цитата:
Сообщение от Alan Посмотреть сообщение
поэтому легко заменяется на элементарный макрос
Есть ли какой нибудь ущерб в выполняемых функциях при такой замене запуска кнопки?

Цитата:
Сообщение от Alan Посмотреть сообщение
который публиковался здесь на форуме.
ссылочку не подкинете? я тут новичок )

Цитата:
Сообщение от Alan Посмотреть сообщение
Повесь на кнопочку и не надо будет ничего грузить....
Спасли!! Спасибо, жаль здесь полезняшек нет.
Уважаемый Alan, у меня еще есть пару лиспов с GTools которые я не могу освоить по вашему предложенному примеру. Не согласились ли бы Вы мне помочь? Можно прямо здесь или через личку. Я в лиспах и тому подобное ноль и узнал о таких полезных вещах в акаде совсем недавно, смог только освоить как делать панель свою и вешать туда кнопки. Делаю сейчас свою "солянку" из различных команд. Спасибо в любом случае!
Pozia вне форума  
 
Непрочитано 31.01.2010, 23:12
#7
Alan

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


Скажите какие тексты, м.б. смогу помочь, только правильно описывайте задачу. И почитайте, что посоветовал Profan в посте №4
G-Tools приведенной версии у меня есть.
Что касается "Полезняшек", то посмотрите по форуму,
а также много было у Геннадия Поспелова - "Довески" старый сайт http://www.kulichki.com/cadhlp/old/index.htm
и новый сайт http://www.kulichki.com/cadhlp/
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Автор темы   Непрочитано 31.01.2010, 23:31
#8
Pozia


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


Цитата:
Сообщение от Alan Посмотреть сообщение
И почитайте, что посоветовал Profan в посте №4
в связи с большой нехваткой времени смогу толком вникнуть более подробнее не скоро. Но нормальный автокад нужен ща на работе и на подработках. Поэтому помощь очень нужна.
Цитата:
Сообщение от Alan Посмотреть сообщение
было у Геннадия Поспелова
там я уже копаюсь. Но в гтулз есть кое чего мне нужное.

Вот следующая кнопка - Удаление дублирующихся объектов ^C^C_DDCLEAR-DUPS
Для нее есть два файла cldups.lsp:

Код:
[Выделить все]
;;;------------------------------->DDCLEAR-DUPS<-----------------------------------;;;
;;;                       Удаление дублирующихся объектов                          ;;;
;;;                           CLDUPS.lsp Version 1.00                              ;;;
;;; Файл содержит следующие команды:                                               ;;;
;;; CLEAR-DUPS: Удаление дублирующихся объектов чертежа. Интерфейс командной       ;;;
;;; строки.                                                                        ;;;
;;; DDCLEAR-DUPS: Удаление дублирующихся объектов чертежа. Диалоговый интерфейс    ;;;
;;; (ddcldups.dcl).                                                                ;;;
;;; Постороено на оригинальном коде Andrzej Gumula                                 ;;;
;;;--------------------------------------------------------------------------------;;;

;;;Clear duplicates      (c)2001, Andrzej Gumula

;;;Изменен: Протасов Г.Н.
;;;Дата изменения: 10.12.2007
;;;G-TOOLS! 

;;Основная функция
(DEFUN CLEAR-DUPS-MAIN (/  lista new one elem temp old znacznik dxfl
   DXF COMPLEX CHECK CORRECT)
   (DEFUN DXF (a) (CDR (ASSOC a (ENTGET one))));DEFUN

   (DEFUN COMPLEX ()
      (WHILE (NOT (WCMATCH (DXF 0) "*END*"))
         (SETQ one (ENTNEXT one)
            elem (APPEND elem (LIST one)))
         (CHECK)
         );WHILE
      );DEFUN

   (DEFUN CHECK (/ x)
      (FOREACH x (ENTGET one)
         (IF (NOT (MEMBER (CAR x) dxfl))
            (SETQ temp (CONS (CORRECT X) temp))
            );IF
         );FOREACH
      );DEFUN

   (DEFUN CORRECT  (a)
      (COND ((= (TYPE (CDR a)) 'list)
            (CONS (CAR a) (MAPCAR '(LAMBDA (x) (ATOF (RTOS x 2 8))) (CDR a)))
            )
         ((MEMBER (TYPE (CDR a)) (LIST 'INT 'REAL))
            (CONS (CAR a) (MAPCAR '(LAMBDA (x) (ATOF (RTOS x 2 8))) (LIST (CDR a)))))
         (t a)
         );COND
      );DEFUN

   (SETQ lista nil
      new nil
      one nil
      temp nil
      dxfl '(-2 -1 5 100)
      old (SSGET "_X")
      );SETQ
   (IF *clrdlayflag (SETQ dxfl (APPEND dxfl '(8))))
   (IF *clrdcolflag (SETQ dxfl (APPEND dxfl '(62))))
   (IF *clrdltflag (SETQ dxfl (APPEND dxfl '(6))))
   (COND
      (old
         (COMMAND "_.-layer" "_u" "*" "")
         (PRINC "\nОчистка чертежа. ")
         (PRINC "\nПожалуйста, подождите... \n")
         (WHILE 
            (COND (one (SETQ one (ENTNEXT one)))
               (t (SETQ one (ENTNEXT)))
               );COND
            (SETQ elem (APPEND elem (LIST one)))
            (CHECK)
            (IF (OR (AND (= (DXF 0) "INSERT") (= (DXF 66) '1)) (= (DXF 0) "POLYLINE"))
               (COMPLEX));IF
            (IF (MEMBER temp lista)
               (FOREACH x elem (ENTDEL x)));IF
            (SETQ lista (CONS temp lista)
               temp  nil
               elem  nil);SETQ
            (COND 
               (znacznik (SETQ znacznik nil) (PRINC "\r\\"))
               (t (SETQ znacznik (PRINC "\r/")))
               );COND
            );WHILE
         (PRINC (STRCAT "\nКоличество элементов до очистки- " (ITOA (SSLENGTH old))))
         (PRINC
            (STRCAT "\nКоличество элементов после очистки- " (ITOA (SSLENGTH (SSGET "_X")))))
         );COND 1
      (t (PRINC "\nНайдены пустые элементы. "))
      );COND
   );DEFUN

;;Функция удаления дубликатов. Интерфейс командной строки
;;Глобальные переменные:
;;*clrdlayflag *clrdcolflag *clrdltflag
(DEFUN CLEAR-DUPS (/ ans cmdecho-save error-save)
   (SETQ cmdecho-save (GETVAR "CMDECHO"))
   (SETVAR "CMDECHO" 0)
   (COMMAND "_.undo" "_begin")
   (DEFUN *error* (msg)
      (IF  error-save (SETQ *error* error-save))
      (IF msg (PRINC "\nВыполнение функции прервано "))
      (SETVAR "CMDECHO" cmdecho-save)
      (PRINC)
      );DEFUN
   (INITGET "Yes No")
   (SETQ ans (GETKWORD "\nУдалять объекты, находящиеся на разных слоях? (Yes/Nо) <N>: ")
      *clrdlayflag (= ans "Yes"));SETQ
   (INITGET "Yes No")
   (SETQ ans (GETKWORD "\nУдалять объекты с разным цветом? (Yes/Nо) <N>: ")
      *clrdcolflag (= ans "Yes"));SETQ
   (INITGET "Yes No")
   (SETQ ans (GETKWORD "\nУдалять объекты с разным типом линий? (Yes/Nо) <N>: ")
      *clrdltflag (= ans "Yes"));SETQ
   (CLEAR-DUPS-MAIN)
   (COMMAND "_.undo" "_end")
   (SETQ *error* error-save)
   (SETVAR "cmdecho" cmdecho-save)
   (PRINC)
   );DEFUN

;;Функция удаления дубликатов. Диалоговый интерфейс
;;Глобальные переменные:
;;*clrdlayflag *clrdcolflag *clrdltflag
(DEFUN DDCLEAR-DUPS (/ cmdecho-save error-save dcl_id dialogLoaded dialogShow userclick)
   (SETQ cmdecho-save (GETVAR "CMDECHO"))
   (SETVAR "CMDECHO" 0)
   (COMMAND "_.undo" "_begin")
   (DEFUN *error* (msg)
      (IF  error-save (SETQ *error* error-save))
      (IF msg (PRINC "\nВыполнение функции прервано "))
      (SETVAR "CMDECHO" cmdecho-save)
      (PRINC)
      );DEFUN
   (SETQ dialogLoaded T
      dialogShow T
      );SETQ
;; Загрузка диалога
   (IF (= -1 (SETQ dcl_id (LOAD_DIALOG "ddcldups.dcl")))
      (PROGN
         (PRINC "\nОшибка загрузки файла ddcldups.dcl")
         (SETQ dialogLoaded nil)
         );PROGN
      );IF
;;Загрузка диалогового окна
   (IF (AND dialogLoaded
         (NOT (NEW_DIALOG "clrd_box1" dcl_id))
         );AND
      (PROGN
         (PRINC "\nОшибка отображения диалога clrd_box1")
         (SETQ dialogShow nil)
         );PROGN
      );IF
;;Задание начальных значений
   (IF (AND dialogLoaded dialogShow)
      (PROGN
         (IF *clrdlayflag (SET_TILE "clrd_layer" "1"))
         (IF *clrdcolflag (SET_TILE "clrd_color" "1"))
         (IF *clrdltflag (SET_TILE "clrd_ltype" "1"))
         );PROGN
      );IF
;;Назначение действий элементам диалога
   (ACTION_TILE "clrd_layer" "(SETQ *clrdlayflag (= (GET_TILE \"clrd_layer\") \"1\"))")
   (ACTION_TILE "clrd_color" "(SETQ *clrdcolflag (= (GET_TILE \"clrd_color\") \"1\"))")
   (ACTION_TILE "clrd_ltype" "(SETQ *clrdltflag (= (GET_TILE \"clrd_ltype\") \"1\"))")
   (ACTION_TILE "cancel" "(DONE_DIALOG) (SETQ userclick 0)")
   (ACTION_TILE "accept" "(DONE_DIALOG) (SETQ userclick 1)")
   (START_DIALOG)
   (UNLOAD_DIALOG dcl_id)
   (IF (= userclick 1) (CLEAR-DUPS-MAIN))   
   (COMMAND "_.undo" "_end")
   (SETQ *error* error-save)
   (SETVAR "cmdecho" cmdecho-save)
   (PRINC)
   );DEFUN

(IF (OR (NULL C:CLEAR-DUPS)
      (NOT (LISTP C:CLEAR-DUPS))
      );OR
   (DEFUN C:CLEAR-DUPS ()
      (CLEAR-DUPS)
      );DEFUN
   );IF
(IF (OR (NULL C:DDCLEAR-DUPS)
      (NOT (LISTP C:DDCLEAR-DUPS))
      );OR
   (DEFUN C:DDCLEAR-DUPS ()
      (DDCLEAR-DUPS)
      );DEFUN
   );IF
(PRINC "\nClDups.lsp загружен... ")
(PRINC "\nДобавлена команда CLEAR-DUPS...")
(PRINC "\nДобавлена команда DDCLEAR-DUPS...")
(PRINC)
и DDCLDUPS.DCL :

Код:
[Выделить все]
/* DDCLDUPS.DCL - файл диалога для CLDUPS.LSP */
clrd_box1 : dialog {
	label = "Удаление дублирующихся объектов"; 
	initial_focus = "clrd_layer";
	:boxed_radio_column {// Рамка выбора опций
		label = "Опции удаления";
		:toggle{// Флаг удаления объектов на разных слоях
			label = "Удалять объекты, находящиеся на разных &слоях";
			key = "clrd_layer";
			}
		:toggle{// Флаг удаления объектов разного цвета
			label = "Удалять объекты с разным &цветом";
			key = "clrd_color";
			}
		:toggle{// Флаг удаления объектов с разным типом линий
			label = "Удалять объекты с разным типом &линий";
			key = "clrd_ltype";
			}         
		}
	ok_cancel;
	}
как с ней быть?

Кстати команда _-Purge;_All;;_No;_-Purge;_All;;_No;_-Purge;_All;;_No; и без этого лиспа работает (первого), тогда зачем он? Что делает?

Последний раз редактировалось Pozia, 31.01.2010 в 23:46.
Pozia вне форума  
 
Непрочитано 31.01.2010, 23:40
#9
Alan

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


Цитата:
Сообщение от Pozia Посмотреть сообщение
как с ней быть?
А что Вы хотите с ней делать?
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Автор темы   Непрочитано 01.02.2010, 00:08
#10
Pozia


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


При выполнении команды ^C^C_DDCLEAR-DUPS выскакивает окно Удаление дублирующихся объектов. Как его вызвать?
Pozia вне форума  
 
Непрочитано 01.02.2010, 00:50
#11
Кулик Алексей aka kpblc
Moderator

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


А чем overkill из Express Tools не устраивает?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 01.02.2010, 00:59
#12
Pozia


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Express Tools
не знаю о таком. Можно подробнее как вызвать?

Я почти решил свои вопросы с гтулз. Оказывается можно повесить в автозагрузку lsp с таким содержанием:

Код:
[Выделить все]
;;Список команд, исполняемых функций и имен файлов
(SETQ cmdl (LIST
      '(C:DDTXT-FIND DDTXT-FIND "tf.lsp" "c:ddtxt-find" "GT_DDTXT-FIND")
      '(C:TXT-FIND TXT-FIND "tf.lsp" "c:txt-find" "GT_TXT-FIND")
      '(C:DIM-CHECK DIM-CHECK "dimcheck.lsp" "c:dim-check" "GT_DIM-CHECK")
      '(C:QUICK-PURGE QUICK-PURGE "qpurge.lsp" "c:quick-purge" "GT_QUICKPURGE")
      '(C:DDLR-LIST DDLR-LIST "llist.lsp" "c:ddlr-list" "GT_DDLRLIST")
      '(C:LR-LIST LR-LIST "llist.lsp" "c:lr-list" "GT_LRLIST")
      '(C:LR-KILL LR-KILL "lkill.lsp" "c:lr-kill" "GT_LRKILL")
      '(C:DDLR-KILL DDLR-KILL "lkill.lsp" "c:ddlr-kill" "GT_DDLRKILL")
      '(C:LR-MERGE LR-MERGE "lmrg.lsp" "c:lr-merge" "GT_LRMERGE")
      '(C:DDLR-MERGE DDLR-MERGE "lmrg.lsp" "c:ddlr-merge" "GT_DDLRMERGE")
      '(C:TXT-FRAME TXT-FRAME "txtframe.lsp" "c:txt-frame" "GT_TXTFRAME")
      '(C:A-COPY A-COPY "acopy.lsp" "c:a-copy" "GT_ACOPY")
      '(C:R-COPY R-COPY "rcopy.lsp" "c:r-copy" "GT_RCOPY")
      '(C:FIG-PAR FIG-PAR "fpar.lsp" "c:fig-par" "GT_FIGPAR")
      '(C:JOIN1 JOIN1 "join1.lsp" "c:join1" "GT_JOIN1")
      '(C:BREAK1 BREAK1 "break1.lsp" "c:break1" "GT_BREAK1")
      '(C:TC TC "tc.lsp" "c:tc" "GT_TC")
      '(C:CS CS "cs.lsp" "c:cs" "GT_CS")
      '(C:TXT-CUT TXT-CUT "txtcut.lsp" "c:txt-cut" "GT_TXTCUT")
      '(C:COMPOSE COMPOSE "compose.lsp" "c:compose" "GT_COMPOSE")
      '(C:DDCOMPOSE DDCOMPOSE "compose.lsp" "c:ddcompose" "GT_DDCOMPOSE")
      '(C:EXTENTS EXTENTS "extents.lsp" "c:extents" "GT_EXTENTS")
      '(C:MLENGTH MLENGTH "mlength.lsp" "c:mlength" "GT_MLENGTH")
      '(C:TXT-SUM TXT-SUM "txtsum.lsp" "c:txt-sum" "GT_TXT-SUM")
      '(C:BURST1 BURST1 "burst1.lsp" "c:burst1" "GT_BURST1")
      '(C:P-LEVEL P-LEVEL "plevel.lsp" "c:p-level" "GT_P-LEVEL")
      '(C:C2LWT C2LWT "c2lwt.lsp" "c:c2lwt" "GT_C2LWT")
      '(C:CLEAR-DUPS CLEAR-DUPS "cldups.lsp" "c:clear-dups" "GT_CLEARDUPS")
      '(C:DDCLEAR-DUPS DDCLEAR-DUPS "cldups.lsp" "c:ddclear-dups" "GT_DDCLEARDUPS")
      '(C:CLEAR-OLPS CLEAR-OLPS "clolps.lsp" "c:clear-olps" "GT_CLEAROLPS")
      '(C:DDCLEAR-OLPS DDCLEAR-OLPS "clolps.lsp" "c:ddclear-olps" "GT_DDCLEAROLPS")
      );LIST
   );SETQ

;;Рекурсивная функция определения и загрузки команд из списка cmdl
(DEFUN G-LOADER (cmdl)
   (COND
      ((NULL cmdl) nil)
      (T
         (EVAL
            (LIST
               'DEFUN (CAR (CAR cmdl)) '()
               (LIST
                  'COND
                  (LIST
                     (LIST 'AND (CADR (CAR cmdl))
                        (LIST 'LISTP (CADR (CAR cmdl)))
                        );LIST
                     (LIST (CADR (CAR cmdl)))
                     );LIST
                  (LIST
                     (LIST 'EQ "failed"
                        (LIST 'LOAD (CADDR (CAR cmdl)) "failed")
                        );LIST
                     (LIST 'PRINC
                        (STRCAT "\nОшибка загрузки файла "
                           (CADDR (CAR cmdl))
                           "! "
                           );STRCAT
                        );LIST
                     '(PRINC)
                     );LIST
                  (LIST 'T (LIST (CADR (CAR cmdl))))
                  );LIST
               );LIST
            );EVAL
         (G-LOADER (CDR cmdl))
         )
      );COND
   );DEFUN

(G-LOADER cmdl)
(SETQ
   G-LOADER nil
   cmdl nil
   );SETQ
(PRINC "\nУтилиты Pozia_tools загружены. ")
(PRINC)
и команды нормально работают. Поясните пожалуйста как что значит в строках типа '(CDLR-LIST DDLR-LIST "llist.lsp" "c:ddlr-list" "GT_DDLRLIST") каждый параметр, чтобы знать как в будущем свои лиспы подгружать. В частности скачал лисп для пайки, сварки и т.д. у Геннадия Поспелова под названием is2 и она работает только если поместить ее в автозагрузку. Как ее прописать в этом лиспе?
Pozia вне форума  
 
Непрочитано 01.02.2010, 05:09
#13
Profan


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


Так и будешь методом тыка действовать? Наломаешь дров, как пить дать. Надо мат. часть изучать. А пока изучаешь, оставил бы G-TOOLS как есть.
Вот здесь еще почитай:
http://dwg.ru/art/8
Profan вне форума  
 
Автор темы   Непрочитано 01.02.2010, 07:32
#14
Pozia


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


Цитата:
Сообщение от Profan Посмотреть сообщение
Так и будешь методом тыка действовать?
Между прочим этим методом очень классные панельки с кнопками получились. )

Цитата:
Сообщение от Profan Посмотреть сообщение
Наломаешь дров, как пить дать.
всегда можно откатиться назад

Цитата:
Сообщение от Profan Посмотреть сообщение
оставил бы G-TOOLS как есть.
не, не пойдет. Там много лишнего, я не люблю когда есть кнопки которыми я не пользуюсь

Цитата:
Сообщение от Profan Посмотреть сообщение
Вот здесь еще почитай:
читал. немножко мне не подходит для создания тихого установщика автокада.

Кто нить объяснит мой последний вопрос?
Pozia вне форума  
 
Непрочитано 01.02.2010, 10:39
#15
Alan

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


Цитата:
Сообщение от Pozia Посмотреть сообщение
При выполнении команды ^C^C_DDCLEAR-DUPS выскакивает окно .......... Как его вызвать?
Цитата:
читал. немножко мне не подходит для создания тихого установщика автокада.

Кто нить объяснит мой последний вопрос?
Пока не поймёшь ответа на первый вопрос, дальше идти нет смысла
Добавлю. Я смотрел тексты G-Tools тут http://forum.zwsoft.ru/viewtopic.php...a5434d64adb836
Набор лиспов для AutoCAD: G-Tools! 1.6.3 с новым инсталлятором
Автор: Георгий Протасов
Там есть инсталлятор и соответственно разброс текстов по нужным папкам и коррекция профиля Автокада.
Возможно это поможет.
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...

Последний раз редактировалось Alan, 01.02.2010 в 18:57.
Alan вне форума  
 
Непрочитано 02.02.2010, 14:52
#16
Alan

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


Цитата:
Сообщение от Pozia Посмотреть сообщение

Кстати команда _-Purge;_All;;_No;_-Purge;_All;;_No;_-Purge;_All;;_No; и без этого лиспа работает (первого), тогда зачем он? Что делает?
Забыл ответить на последний вопрос.
В данном конкретном случае текст макроса компактнее. Символов меньше а также не требуется подгрузки ЛИСП-текста, как в G-Tools.
Цитата:
Сообщение от Pozia Посмотреть сообщение
Вот следующая кнопка - Удаление дублирующихся объектов ^C^C_DDCLEAR-DUPS
Тоже есть практически стандартная (вдобавок очень квалифицированно написанная команда), подсказанная Алексеем, команда overkill из Express Tools
Вывод: В подобных случаях можно/нужно обходиться стандартными командами.
В G-Tools автор набирал на панельку команды, которые он считал нужны.Точно так же поступаете Вы.
ИМХО. Не всегда верное решение, надо знать что было уже создано и опробовано поколениями.
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Автор темы   Непрочитано 02.02.2010, 18:00
#17
Pozia


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


Цитата:
Сообщение от Alan Посмотреть сообщение
надо знать что было уже создано и опробовано поколениями.
ну если следить за данной тематикой из истоков то да, а что новичкам остается?

По поводу адаптации кнопок из гтулз все оказалась проще чем казалось. Сообразил методом тыка. Нужно записывать команды наподобие:
Код:
[Выделить все]
^C^C^P(if (not tf) (load "tf")) ddtxt-find
и неужто из бывалых никто не мог такую мелочь подсказать???
Pozia вне форума  
 
Непрочитано 02.02.2010, 18:25
#18
Alan

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


Цитата:
Сообщение от Pozia Посмотреть сообщение
ну если следить за данной тематикой из истоков то да, а что новичкам остается?

По поводу адаптации кнопок из гтулз все оказалась проще чем казалось. Сообразил методом тыка. Нужно записывать команды наподобие:
Код:
[Выделить все]
^C^C^P(if (not tf) (load "tf")) ddtxt-find
и неужто из бывалых никто не мог такую мелочь подсказать???
Как Вам сказать...
Бывалые, например, Profan в п.13 послал Вас совершенно в правильном направлении. Причем предупредив о сложностях "метода тыка".
И вот там читаем раздел.
Цитата:
Организация библиотеки лисп файлов.
Цитата:
.....................
И, наконец, самое главное - это позволит нам создать панели с кнопками для загрузки той или иной программы. Кнопка будет иметь следующее содержание:

^C^C(if (null C:<команда>)(load "<файл>"));<команда>;
В нашем случае: ^C^C(if (null C:OFF2)(load "off2"));OFF2;
.
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...

Последний раз редактировалось Alan, 02.02.2010 в 18:34.
Alan вне форума  
 
Автор темы   Непрочитано 02.02.2010, 18:28
#19
Pozia


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


Alan, ну не смешно? ради того чтобы повесить пару готовых кнопок на акад мне нужно изучить все по написанию лиспов? Мне только нужно было узнать как их подгружать, я горы ворочать в лиспах придумывая что то новое не собираюсь, просто позаимствую чужое. Благо сообразил как, и именно методом тыка. Не пойму его его боятся? )
Pozia вне форума  
 
Непрочитано 02.02.2010, 18:36
#20
Profan


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


Цитата:
и неужто из бывалых никто не мог такую мелочь подсказать???
А ссылка в сообщении #13 не в счет? Там есть похожий способ запуска программ.
Замечу, однако, что приведенный в сообщении #17 код, сконструированный методом тыка, вызывает сильные сомнения.
P.S.
Пока писал, Alan дополнил свое сообщение.
Profan вне форума  
 
Непрочитано 02.02.2010, 18:38
#21
Alan

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


Цитата:
Сообщение от Pozia Посмотреть сообщение
Alan, ну не смешно? ради того чтобы повесить пару готовых кнопок на акад мне нужно изучить все по написанию лиспов? Мне только нужно было узнать как их подгружать, я горы ворочать в лиспах придумывая что то новое не собираюсь, просто позаимствую чужое. Благо сообразил как, и именно методом тыка. Не пойму его его боятся? )
Смешно я думаю всем, кто читает Ваши сообщения. Смешно и грустно...
Вы не смогли прочитать и усвоить всего одной темы на форуме, в которой ВСЁ это уже описано...
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Автор темы   Непрочитано 02.02.2010, 18:39
#22
Pozia


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


Цитата:
Сообщение от Profan Посмотреть сообщение
что приведенный в сообщении #17 код вызывает сильные сомнения.
какие не скажете? Мне опять методом тыка узнавать? )
Pozia вне форума  
 
Непрочитано 02.02.2010, 18:49
#23
Profan


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


Посмотри, что написал VVA (Владимир Азарко):
Код:
[Выделить все]
^C^C(if (null C:<команда>) (load "<файл>"));<команда>;
Я обычно записываю так:
Код:
[Выделить все]
^C^C(if (not C:<команда>) (load "<файл>")) <команда>
И твой код:
Код:
[Выделить все]
 
^C^C^P(if (not <команда1>)) (load "tf")) <команда2>
Заметна разница?
Profan вне форума  
 
Автор темы   Непрочитано 02.02.2010, 19:20
#24
Pozia


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


Спасибо Profan и все остальные! Прошу прощения если кому нагрубил. Я уже почти и закончил свои кнопочки. Осталось инсталятор замутить.
Pozia вне форума  
 
Непрочитано 02.02.2010, 20:28
#25
Alan

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


Цитата:
Сообщение от Pozia Посмотреть сообщение
Спасибо Profan и все остальные! Прошу прощения если кому нагрубил. Я уже почти и закончил свои кнопочки. Осталось инсталятор замутить.
Понимаете, Pozia, и я, и Profan, и VVA написали/замутили сотни кнопочек и сотни (или больше) команд. Поэтому и отправили Вас в ту тему, в которой и скопился "опыт поколений".
P.S.Чтобы не быть голословным моя программа ПАРКС (с кнопочками и инсталлятором). http://www.zwcad.kiev.ua/PARKS.html
ДЕМО-версия (правда очень старая, кажется сделанная еще в 2002 году) есть тут http://www.arcada.com.ua/infot/po/arch/parks.html
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Непрочитано 02.02.2010, 23:24
#26
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
ради того чтобы повесить пару готовых кнопок на акад мне нужно изучить все по написанию лиспов?
Есть один экстравагантный способ запуска лиспов: в каждом записываем... (c:mycmd) к примеру в конце файла и она (команда) будет выполнятся при загрузке лиспа; далее создаем ярлычки для лиспов на рабочем столе (я думяю это не трудно сделать) и наконец выравниваем окно када так чтобы ярлычки можно было перетягивать кад для выполнения...
зы. не хочешь изучать лисп пользуйся тем что дают...
gomer вне форума  
 
Автор темы   Непрочитано 09.02.2010, 07:30
#27
Pozia


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


Цитата:
Сообщение от Profan Посмотреть сообщение
не мешало бы тебе почитать про конфигурацию и адаптацию меню и вспомогательных файлов в учебнике Н.Н. Полещука, например.
дайте ссылку пожалуйста или хотя бы полное название книги
Pozia вне форума  
 
Непрочитано 09.02.2010, 08:19
#28
Profan


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


Да вот:
http://www.ozon.ru/?context=search&t...eb%e5%f9%f3%ea
Я когда-то использовал эту книгу:
http://www.ozon.ru/context/detail/id/120391/
Profan вне форума  
 
Непрочитано 07.06.2012, 09:59
#29
Серёга - Bilder

проектирование гидротехнических сооружений
 
Регистрация: 20.02.2006
Москва
Сообщений: 5,022


Чтобы темы не плодить напишу сюда.
Автокад 2011рус. Установлены ExpressTools и GTools.
В какой-то момент перестали корректно работать комады GTools
"Прокат" (prkt) и "Деталь" (krpg)
При их вызове нормально появляются соответствующие диалоговые окна, в которых выбираешь нужную деталь/прокат, потом окно с масштабом/углом поворота/точкой вставки. А потом ничего не происходит. В ком.строке появляется строка "Выполнение функции прервано". Полностью всё это выглядит так:
Код:
[Выделить все]
 Команда: (if (not c:prkt)(load (strcat pathlisp2 "procat/prcat.lsp"))) nil
Команда: _prkt (1 0 0.000 1.000)
Выполнение функции прервано
Код:
[Выделить все]
 Команда: (if (not c:krpg)(load (strcat pathlisp2 "blts/krpz.lsp"))) nil
Команда: _krpg (1 0 0.000 1.000)
Выполнение функции прервано
Остальные функции GTools-а работают нормально.
Кто подскажет в чём проблема?
Серёга - Bilder вне форума  
 
Непрочитано 07.06.2012, 23:59
#30
Alan

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


Цитата:
Сообщение от Серёга - Bilder Посмотреть сообщение
Чтобы темы не плодить напишу сюда.
Автокад 2011рус. Установлены ExpressTools и GTools.
Серёга, а чего ты не используешь ПРОКАТ В.Кондрата с этого форума? Мы его год вылизывали... Там 2 разные сборки, правильнее - вариации.
На форуме http://forum.zwsoft.ru/viewtopic.php?f=20&t=130 я писал по поводу авторства этой программы.
М.б. у кого-то есть другие сведения?
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Непрочитано 08.06.2012, 02:00
#31
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Серёга - Bilder Посмотреть сообщение
Кто подскажет в чём проблема?
ответ, я выкладывал в ветке о "прокате" - одноименные функции, там же выкладывал временное решение... к сожалению... до крепежа руки пока не доходят...
gomer вне форума  
 
Непрочитано 08.06.2012, 09:02
#32
Серёга - Bilder

проектирование гидротехнических сооружений
 
Регистрация: 20.02.2006
Москва
Сообщений: 5,022


Цитата:
Сообщение от gomer Посмотреть сообщение
ответ, я выкладывал в ветке о "прокате" - одноименные функции, там же выкладывал временное решение... к сожалению... до крепежа руки пока не доходят...
А ссылочку можно?

Цитата:
Сообщение от Alan Посмотреть сообщение
Серёга, а чего ты не используешь ПРОКАТ В.Кондрата с этого форума? Мы его год вылизывали... Там 2 разные сборки, правильнее - вариации.
На форуме http://forum.zwsoft.ru/viewtopic.php?f=20&t=130 я писал по поводу авторства этой программы.
М.б. у кого-то есть другие сведения?
К сожалению впервые слышу о нём. Почитал.
Пардон, не понял: мне как бы на автокад нашлёпка с прокатом нужна... А на ZWCAD - совершенно без надобности... Или же приложение на ZWCAD без проблем ставится на Автокад?

Но я вообще придерживаюсь принципа: "Чем меньше приблуд ставишь на автокад, тем стабильнее работает и меньше глюков возникает"...

Последний раз редактировалось Серёга - Bilder, 08.06.2012 в 09:08.
Серёга - Bilder вне форума  
 
Непрочитано 08.06.2012, 19:40
#33
Alan

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


Цитата:
Сообщение от Серёга - Bilder Посмотреть сообщение
К сожалению впервые слышу о нём. Почитал.
Ты недопонял.
Цитата:
Сообщение от Alan Посмотреть сообщение
а чего ты не используешь ПРОКАТ В.Кондрата с этого форума? Мы его год вылизывали... Там 2 разные сборки, правильнее - вариации.
Я посылал тебя на ЭТОТ форум http://forum.dwg.ru/showthread.php?t...ED%E4%F0%E0%F2
А на форум ZWCAD отправлял для обсуждения/сравнения модуля ПРОКАТ из G-Tools и с DWG.ru. Ну и соответствующего выбора.
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как отредактировать некоторые плагины из пакета GTools для себя?

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сейсмозащита и сейсмоизоляция существующих, построенных зд. IANationalInformAgentstvo Прочее. Архитектура и строительство 216 20.01.2015 16:51
ГОСТ Р 53231-2008 UnyqUm Поиск литературы, чертежей, моделей и прочих материалов 5 15.09.2009 14:41
Предложения по расчетным моделям сооружений aldt Расчетные программы 8 06.07.2009 17:53
Мониторы LCD CRT Разное 94 17.06.2008 10:51
БРЕД СИВОЙ КОБЫЛЫ Kryaker Разное 1876 29.12.2006 23:41