Реклама i
|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Продолжение макроса/лиспа после команды _qnew
Регистрация: 25.06.2009
Сообщений: 147
|
||
Просмотров: 10055
|
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
непонял? а как юзать шоб 1-й кнопкой в макросе?
Суть в том штоб макрос в новом файле продолжал работать... Последний раз редактировалось Positron, 11.12.2009 в 15:20. Причина: Суть в том штоб макрос в новом файле продолжал работать... |
|||
![]() |
|
||||
Регистрация: 23.09.2005
СПб
Сообщений: 428
|
По-моему, это невозможно. Я предложил способ для
Например так: ^C^C_select;_filedia;0;_wblock;"имя_файла.dwg";;\_p;;_u;_open;"имя_файла.dwg"; Выбор объектов перед применением макроса. Последний раз редактировалось ытя, 11.12.2009 в 16:33. |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Хорошо, возможно альтернативы?:
1. Есть другие варианты создания файлов,а не _qnew ? или переменные которые пригодились бы? 2. Возможно ли привязать к при создании нового файла выполнение какой-то команды, типа макроса, лиспа ,дизеля и т.п.? 3. А использования буфера обмена через Автокад как вариант? (сам не представляю как) 4. Возможно и не надо макрос продолжать в новом файле... может просто очистить этот файл сделать все манипуляции сохранить как другой файл и потом восстановить всё как было, так и получится новый файл... (типа если гора не идёт к Магомеду то Магомед идёт к горе ![]() 5. Другие идеи... __________________________________________________________________ 4 вариант на данный момент самый реальный как я понимаю. Последний раз редактировалось Positron, 14.12.2009 в 13:02. Причина: Другие идеи... |
|||
![]() |
|
||||
Шаражпроектхалтурмонтаж Регистрация: 29.10.2004
Талды-Париж
Сообщений: 6,013
|
Щас тему за ап прихлопнут.
Расскажи, что конкретно нужно делать, в какой последовательности Это сделать можно |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
да.. если 50 программ за 1 сеанс... типа 50 чертежей создать и часто так...
Цитата:
в архиве кусок раб.задания (формат стандартный 2007-2009) и файлы в формате 2004 для программы посредника, и родные конвертированные в PGM (программа Xilog3) Последовательность такая: 1. имея как в чертеже оформленный отрывок, выделить его 2. указать базовую точку или автоматически выщитать, например определив крайнюю точку до оси ох и оу прямоугольника, а он в в спец слое или иные методы для лиспа(нужно край заготовки вбить в координаты 0,0,0 для станка) 3. сохранить в формате 2004 4. названия файла выдернуть из описания (как выделить текст для лиспа шоб проще, цветом или курсив или предлагайте шо легче для лиспа, буду делать...) или просто вписывать каждый файл в ручную ... недолго ето если мало программ ![]() пример во вложении... Последний раз редактировалось Positron, 14.12.2009 в 15:04. |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Цитата:
тогда можно заложыть: 1. вставку в координаты 0,0,0 2. сохранить в формате 2004 3. названия файла выдернуть из описания (как выделить текст для лиспа шоб проще, цветом или курсив или предлагайте шо легче для лиспа, буду делать...) или просто вписывать каждый файл в ручную ... недолго ето если мало программ Цитата:
Последний раз редактировалось Positron, 14.12.2009 в 16:12. Причина: Кривые руки ли? или небыть? вот в чом вопрос... (Шекспир 8-]) |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Для Positron
Суть вот в чем. Копируешь объекты с указанием базовой точки обычным способом, после этого создаешь новый чертеж и в него автоматически вставляется содержимое буфера обмена. Это содержимое вставится и в сохраненный ранее чертеж, если его открыть. Более того, в любой открываемый файл немедленно вставится любое содержимое буфера обмена, что при определенных обстоятельствах можно считать преимуществом. ![]() C:\Documents and Settings\USER\Application Data\Autodesk\AutoCAD 2008\R17.1\rus\Support |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Цитата:
менял местами(в конце в начале и так как тут), автокад перезапускал... нечо недаёт... ;;; ACAD.MNL ;;; Copyright (C) 1992 - 1997 by Autodesk, Inc. ;;; ;;; Permission to use, copy, modify, and distribute this software ;;; for any purpose and without fee is hereby granted, provided ;;; that the above copyright notice appears in all copies and ;;; that both that copyright notice and the limited warranty and ;;; restricted rights notice below appear in all supporting ;;; documentation. ;;; ;;; AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS. ;;; AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF ;;; MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC. ;;; DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE ;;; UNINTERRUPTED OR ERROR FREE. ;;; ;;; Use, duplication, or disclosure by the U.S. Government is subject to ;;; restrictions set forth in FAR 52.227-19 (Commercial Computer ;;; Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) ;;; (Rights in Technical Data and Computer Software), as applicable. ;;; ;;; Changes to this file will be migrated to future installations of ;;; AutoCAD during migration. ;;; ;;; This file is loaded automatically following the menu ACAD. ;; Silent load. (command "_pasteclip" '(0 0 0)) (princ) Последний раз редактировалось Positron, 14.12.2009 в 19:39. |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Игнорируешь и не отвечаешь на вопросы. Так диалог не получится. ытя тебе готовый вариант выложил в самом начале, так вместо того чтобы проанализировать этот вариант тебе лиспы подавай. На мой вопрос ты не ответил. Я считаю это неуважением, относительно тех людей которые тебе действительно хотели помочь.
__________________
Делай хорошо, плохо само получится. |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Это было в самом начале, ответ для ытя
Я ж непротив, но ответ на "продолжение макроса в новом созданом листе" поможет сзодавть класные макросы... да и нетолько макросы (это своеобразный опыт в том числе) А отвечать неуспеваю, бо на роботе щас ![]() ![]() kp+ да! пашет превосходно ![]() |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
В том-то и дело, что файл acad.mnl загружается автоматически, если загрузилось меню acad.cui. Так что должно быть без разницы, куда мы записали строку (command "_pasteclip" '(0 0 0)) - в файл acad.mnl или в отдельный файл, который поместили в автозагрузку.
Да сделай две кнопки - одну для копирования, другую для вставки. |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
|
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Цитата:
Цитата:
Поетому та и тему поднял сею... |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Цитата:
Для твоего случая wblock подходит как нильзя лучше. Ты можешь сначала в файле что-то сделать (что угодно) и результат сохранить в отдельный файл. Что такого нужно делать потом, что нельзя сделать сначала?
__________________
Делай хорошо, плохо само получится. |
|||
![]() |
|
||||
Шаражпроектхалтурмонтаж Регистрация: 29.10.2004
Талды-Париж
Сообщений: 6,013
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431
|
Positron, ты про топик-ап слышал?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
правда виноват, спешу непонятно куда ![]() Глубоко извиняюсь шо не прокоментировал, тут я 100% виноват перед Kriegerом... ^C^C_select;_filedia;0;_wblock;"имя_файла.dwg";;\_ p;;_u;_open;"имя_файла.dwg"; тут я неразобрался как "имя_файла.dwg" задавать(автоматически) вписывать каждый раз?... или ![]() короче невехал я до конца, извини. |
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,924
![]() |
Может немного в сторону.
Нужно выполнить команду после загрузки всех меню. Вариант с acad.mnl и автозагрузкой не срабатывает. Дело в том, что команда не стандартная, а одной из навесок. Получается, что вызов команды происходит до загрузки требуемого меню. в итоге Цитата:
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
да тут писали ... я на форуме недавно поетому могу токо предпологать... И сделал вывод, с англиского ап это вверх, топик это тема, типа я пишу специально шоб все видили тему в начале... признаюсь 1 раз написал в начале темы штоб тема не утанула в массе(бо некто даже неотвечал), но после как написал Nike я почти понял шо так незя делать(ранше и не предпологал).. щас вроде незамечал за собой такого, просто отвечаю и задаю вопросы... |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Цитата:
Код:
Пример файла и полученных с помощью кода фрагментов:
__________________
Делай хорошо, плохо само получится. |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
работает, а вчом загвоздка была?
токо выдаёт щас такое(дома руская версия, на работе англ. AutoCAD): Команда: (Kr_Wblock) Выберите объекты: Противоположный угол: найдено: 8 Выберите объекты: ; ошибка: no function definition: VLAX-GET-ACAD-OBJECT |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431
|
В начале лиспа поставить (vl-load-com). Именно так, со скобками.
P.S. Похоже, пора в FAQ вносить этот ответ ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Цитата:
Команда: (vl-load-com)(Kr_Wblock) Выберите объекты: Противоположный угол: найдено: 26 Выберите объекты: -wblock Неизвестная команда "-WBLOCK". Для вызова справки нажмите F1. Команда: C:\Documents and Settings\ADMIN\Рабочий стол\1111\vos_1kz1 Неизвестная команда "C:\DOCUMENTS AND SETTINGS\ADMIN\РАБОЧИЙ СТОЛ\1111\VOS_1KZ1". Для вызова справки нажмите F1. Команда: КОМСТР Команда: 0,0,0 Неизвестная команда "0,0,0". Для вызова справки нажмите F1. Команда: <набор объектов: 4> КОМСТР Команда: КОМСТР Команда: oops Неизвестная команда "OOPS". Для вызова справки нажмите F1. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431
|
Исправленный вариант кода:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
|
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,924
![]() |
Извините что отвлекаю, но на мой вопрос есть ответ?
Цитата:
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,924
![]() |
Shucad
Цитата:
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Кстате я использую не постояно эти 2 макроса:
*^C^C_copybase;\\\;_qnew; ^C^C_pasteclip 0,0,0;'_.zoom _e;_filedia;0;_saveas;2004;\\y;^C_filedia;1;_close ; А востовном эти 3 : *^C^C_copybase;\\\;_qnew; ^C^C_pasteclip 0,0,0;'_.zoom _e;_saveas; ^C^C'_.zoom _e;_.saveas;2004;;y;_close; потому что надо указывать путь, он збивается... шоб незбивался нашол неплохую прогу , советую другим - Direct Folders у неё много ещо полезных есть функций... И у производителя ещо много полезных прог http://www.codesector.com/directfolders.php _______________________________________________________________________________________________ для Kriegerа Цитата:
http://forum.dwg.ru/showthread.php?t=43089 в этой теме по сути ответ, только точку надо 1-дну, самую ближнюю выдернуть и без рисования прямоугольника... _______________________________________________________________________________________________ Благодарен всем за помощь что уже оказана! И отдельно Kriegerру благодарность за то что указал на мою ошибку в повиденни на форуме, это помогло мне вырасти над собой ![]() (P.S. не думайте, я не подлизуюсь, просто во многих вопросах уже помогли за это и благодарю ![]() Последний раз редактировалось Positron, 21.12.2009 в 18:27. Причина: Благодарнось свою высказал, учасникам форума, от душы! |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Порошу помощи у програмистов.
Мне Krieger зделал лисп, он работает хорошо, только сохраняет в формате 2007, как зделать чтоб сохранение файла было в 2004 формате? (возможно так? в лиспе: перед началом лиспа поменять формат сохранения файла по умолчанию в 2004, а потом , в конце лиспа поменять обратно в 2007 формат по умолчанию) (defun Kr_Wblock (/ ss n key pr filename) (vl-load-com) (setq ss (ssget) n 0 key t cmd (getvar "cmdecho")) (while (and (ssname ss n) key (setq pr (entget (ssname ss n))) ) (if (and (eq (cdr (assoc 0 pr)) "TEXT") (eq (strcase (cdr (assoc 8 pr))) "NAME_FRAGMENT")) (setq key nil filename (strcat (vla-get-path (vla-get-activedocument (vlax-get-acad-object))) "\\" (cdr (assoc 1 pr)))) ) (setq n (1+ n)) );while (if filename (progn (setq lstpt (apply 'append (mapcar '(lambda (obj / minpt maxpt) (vla-getboundingbox obj 'minpt 'maxpt) (mapcar 'vlax-safearray->list (list minpt maxpt)) );end of lambda (mapcar 'vlax-ename->vla-object (vl-remove-if '(lambda (a) (wcmatch (cdr (assoc 0 (entget a))) "MTEXT,DIMENSION,*TABLE")) (sstolist ss))) )) );end of setq (vl-file-delete (strcat filename ".dwg")) (vla-StartUndoMark (vla-get-activedocument (vlax-get-acad-object))) (setvar "cmdecho" 0) (vl-cmdf "_ucs" "_m" (list (apply 'min (mapcar 'car lstpt)) (apply 'min (mapcar 'cadr lstpt)))) (vl-cmdf "_-wblock" filename "" "0,0,0" ss "") (vl-cmdf "_oops") (vl-cmdf "_ucs" "_p") (setvar "cmdecho" cmd) (vla-EndUndoMark (vla-get-activedocument (vlax-get-acad-object))) );progn (princ "\nНе найдена метка") );if (princ) );defun ;--------------------------------------- (defun sstolist (ss / i lst); конвертирует набор в список (setq i 0) (if ss (repeat (sslength ss) (setq lst (append lst (list (ssname ss i))) i (1+ i)) ));end of repeat & if lst );end of sstolist |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
Цитата:
_ucs -> _world
__________________
Делай хорошо, плохо само получится. |
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запуск программы из AutoCADа | kminas | Программирование | 19 | 15.06.2012 13:42 |
Проблема с текстами после програмной вставки TABLE | Gogi | Программирование | 4 | 16.11.2007 10:02 |
Проблемма после команды MOVE | *LUCKY* | AutoCAD | 6 | 12.07.2007 10:25 |
Прозрачные команды | Vova | AutoCAD | 17 | 21.06.2006 05:33 |