|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Автоматический перенос размеров на слой размеры. Break макро
Инженер строитель
Москва
Регистрация: 24.02.2005
Сообщений: 396
|
||
Просмотров: 187611
|
|
||||
Проектирование обустройства нефтяных месторождений Регистрация: 28.08.2003
Самара
Сообщений: 352
|
2Piton:
По поводу твоего макроса могу предложить поставить * в начале кода:
|
|||
![]() |
|
||||
Инженер строитель Регистрация: 24.02.2005
Москва
Сообщений: 396
|
При запуске пишет :
AutoCAD menu utilities loaded.layer Current layer: "0" Enter an option [?/Make/Set/New/ON/OFF/Color/Ltype/LWeight/Plot/Freeze/Thaw/LOck/Unlock/stAte]: m Enter name for new layer (becomes the current layer) <0>: размеры Enter an option [?/Make/Set/New/ON/OFF/Color/Ltype/LWeight/Plot/Freeze/Thaw/LOck/Unlock/stAte]: c New color [Truecolor/COlorbook] : 151 Enter name list of layer(s) for color 151 <размеры>: Enter an option [?/Make/Set/New/ON/OFF/Color/Ltype/LWeight/Plot/Freeze/Thaw/LOck/Unlock/stAte]: |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Позволю себе несколько модернизировать текст. При вызове команды идет вызов реакторов несколько раз и Oldlayer не восстанавливает слой до вызова команды. А если его сделать списком и восставливать 0-й, то вроде все ок. Плюс добавил комментарии, так что добавить, чтобы любой другой примитив ложился на свой слой не составит труда.
Код:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Последний раз редактировалось VVA, 21.10.2010 в 20:30. Причина: Новый вариант от Lee Mac |
|||
![]() |
|
||||
Java/Kotlin/Go Регистрация: 03.02.2006
Сообщений: 5,786
|
Хочу уточнить насчет авторства:
Впервые решение этой задачи мне показал Эдуард. Потом я увидел аналогичную задачу у Kenny Ramage. А мой код - очередная интерпретация идеи. Последний раз редактировалось Кочетков Андрей, 31.03.2015 в 10:10. |
|||
![]() |
|
||||
Конструктор Регистрация: 06.04.2005
Из тех ворот-откуда весь народ.
Сообщений: 361
![]() |
Поработал несколько дней и тут выявился один досадный момент.При наличии в автозагрузке этого файла невозможноустановить(через комстроку)текущим какой-либо слой посредством команды -Layer с опцией Set.Почему досадный?При наличии программ на Лиспе,употребляющих эту команду для установки текущего слоя перед отрисовкой чего-либо,отрисовка идет не на устанавливаемом слое,а на текущем перед выполнением лиспа.Просьба к знатокам Лиспа довести таки этот файл для автозагрузки,чтобы не было влияния на другие лисп-программы.
|
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Странно, при загрузке моего фрагмента из VLISP-редактора все слои образуются, как надо. Проврерно на ACAD-2005 и АDТ-2005. А в каком именно мест у вас происходит сбой? Судя по сообщению об ошибке, объекты с примитивами, как обычно, "твоя моя не понимай".
|
|||
![]() |
|
||||
просто ГИП. Регистрация: 18.11.2005
Московская обл
Сообщений: 54
![]() |
Даю простой совет. В опциях открываешь вкладку Files, в древе каталогов находишь Support File Search Path, копируешь путь (первая строка) у меня это
C:\Documents and Settings\1\Application Data\Autodesk\AutoCAD 2006\R16.2\enu\support лезешь туда находишь файл acad.pjp, открываешь его блокнотом находишь команду break, через поиск, изменяешь первые буквы(у) в строке на любую другую(ие), но не трогай буквы после *, сохраняешь файл. Если надо вызвать команду вводишь с клавы эти буквы(у), а дальше выполняй действия согласно командной строки ( укажи т.1, укажи т.2) Этот метод применяется к любой команде, и не надо рисовать макросы на лист. Можешь заменить стандартный файл acad.pjp на мой и в Word посмотреть таблицу команд. [ATTACH]1141244011.rar[/ATTACH]
__________________
Сергей Юрьевич |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
> Лентяй
Цитата:
Цитата:
|
|||
![]() |
|
||||
Конструктор Регистрация: 06.04.2005
Из тех ворот-откуда весь народ.
Сообщений: 361
![]() |
->Лентяй
Ваш вариант работает при открытии нового файла.Но все равно оказывает влияние на работу лисп-программ,как писал выше. При повторном открытии этого-же файла работать не хочет,выдает ту же ошибку "error: bad argument type: VLA-OBJECT nil ". |
|||
![]() |
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,837
|
> Лентяй
Цитата:
Код:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
А если такое попробовать?
Код:
Говорю сразу - писалось "на коленке". Со всеми вытекающими.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Конструктор Регистрация: 06.04.2005
Из тех ворот-откуда весь народ.
Сообщений: 361
![]() |
Попробывал,получил следующее:при загрузке-Command: _appload ; error: bad argument type: stringp nil,
проигнорировав и при попыке проставить размер- Command: _dimradius ; error: no function definition: VLA-PUT-00000 Select arc or circle: Dimension text = 24.5 Specify dimension line location or [Mtext/Text/Angle]: ; error: bad argument type: stringp nil |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
1. Функцию подгрузки типа линии закинул? Ссылка: http://www.autocad.ru/cgi-bin/f1/board.cgi?t=22730iW
2. Почему-то в коде после копирования вместо vla-put-freеze получилось vla-put-00000. В общем, чтоб не было мучительно больно - см. приложение. [ATTACH]1141376632.rar[/ATTACH]
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Конструктор Регистрация: 06.04.2005
Из тех ворот-откуда весь народ.
Сообщений: 361
![]() |
Пусть будет сначала "мучительно больно",главное чтобы потом было приятно.
![]() P.S.Видимо незря ник-крыс,-крысы они очень умные животные.Даже по гороскопу есть умные крысы(напр.рожденные в 1960году).Не удержался и подольстился.Уж очень хотелось,чтобы эта идея с распределением по слоям нашла реальное решение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Хехе, тут на самом деле до дури еще доделывать по идее надо. Смотри. Настройки слоев сейчас задаются напрямую в реакторе, что не есть гуд. Такие вещи лучше хранить где-нибудь в отдельном месте, докуда легко добраться и программисту, и пользователю. Да еще и сохранять их тоже где-то надо. И, потом, там сейчас отслеживаются только размерные команды, команды штриховок и простановки текста. А этого мало.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Конструктор Регистрация: 06.04.2005
Из тех ворот-откуда весь народ.
Сообщений: 361
![]() |
Насчет доделать-это уже сложнее.О лиспе у меня лишь самые элементарные понятия.Вот заметил,как мне кажется,очепятку там где настраивается слой штриховки:LW стоит 00,а япоставил 20,-и то уже хорошо.А вот зачем подгружать линии я не понимаю,ведь и размеры и текст и штриховка испоьзует Continuous,но раз надо так надо.А насчет того,что мало отслеживается команд,для меня это основные и пока хватит надолго.Спасибо еще раз.
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Ну вот захотелось мне показать такой вариант, это просто левая пятка не вовремя зачесалась
![]() Насчет команд - смотри, а если, допустим, ты все рисуешь полилиниями, а отрезками - осевые? Тогда на команду "line" (это полное имя команды) создаешь новый слой с подгрузкой типа линии center из текущего lin-файла.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
А что такого с текстом не проходит?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 29.10.2005
Нижегородская обл.
Сообщений: 219
![]() |
От меня тож спасибо...уверен наши тётьки тож будут рады, да и самому пригодится. Самый успешный вариант в 47 посте. Загрузил файл и вырезал оттуда код про линии, ато 2 инструмента в одном получается. Проблемы getr у меня нет, т.к. лиспов, использующих свои установленные слои в моей коллекции нет.
>kpblc, этот код к линиям наверняка хорош, но у меня не получается им воспользоваться в полной мере. Тока типа таких линий (_kpblc-linetype-load "center" nil) и грузит из файла acadiso.lin Если не трудно расскажи поподробнее как фигануть линии из своего файла; в поддержку я его положил. Вообще была идея пользоваться макросом типа "^C^C-linetype s имя_лини", но линии должны быть уже подгружены в чертёж. И вообще такой макрос фигня, т.к. бывает нужна тока пара тройка линий сварки из десятка. Есть идея сделать вариант выбора линии: типа если линия есть в чертеже, то вставить-если нет в чертеже, то подгрузить. А каждый раз тянуться за ними как в слои для размеров к примеру тож не хоца. на том сайте сложности с регистрацией... |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
> pyatifan : На каком сайте сложности с регистрацией?
Так, насчет линий. Например, есть файлы defined.lin и defined.sh*, лежащие в одном месте. К примеру, у тебя там болтается описание типа линии "ГП-КранПуть" (имя от балды взял). Тогда вызвать функцию для подгрузки типа линии можно так: (_kpblc-linetype-load "ГП-КранПуть" "defined.lin") В качестве внутреннего списка (который лежит внутри определения функции) можно не прописывать пары соответствия для английской и русской версий - имена-то одинаковые.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Конструктор Регистрация: 06.04.2005
Из тех ворот-откуда весь народ.
Сообщений: 361
![]() |
->kpblc
Насчет реакции на команду Line,-врядли это удобно.Если например надо начертить штриховую,то она тогда тоже окажется на слое осевых.А вот если будет программа реагировать на тип выбираемой линии из Linetype Control и разносить послоям,тогда есть смысл.Выбрал штриховую,начертил ее с помощью Line или PLine,-легла в свой слой;выбрал сварку,-также легла куда надо(но тут уже надо будет реакция на несколько типов линий).Программа усложнится и вряд ли захочется (или найдется время) ее усовершенствовать.Но уже на этом этапе,как показывают отзывы,народ доволен и даже очень.Впрочем как и я. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
> getr : Ну я ж так, для примеру... На самом деле смотри - можно поставить реактор на начало команды сохранения (SAVE, QSAVE) - с выполнением полной чистки чертежа, например. И назначения всем примитивам одного текстового и размерного стиля, к примеру.
На DWGPROPS - вызов собстсвенного окна, к примеру. Да мало ли что можно сделать... А насчет линии на свой слой тут имхо проще надо сделать - делаем слой, запоминаем текущие установки, делаем свой слой со своим типом линии, цветом и весом; рисуем; возвращаем все обратно. Такие вещи проще всего повесить в отдельный лисп, а инструмент закинуть на toolpalette (ЯТД). И множить инструменты, меняя 1-2-3 входных параметра. Естественно, что требуется дополнительно прописывать обработчик ошибок, назначать его и прочая.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 29.10.2005
Нижегородская обл.
Сообщений: 219
![]() |
Клёво. Спасиб
![]() (ltype-name ltype-file Соответствие наименований линий как я понял это замена на русские названия линий в файле, но не получается: (_kpblc-linetype-load "скрытая" nil) выводит nil, но это в принципе не особо страшно, т.к. всё равно на кнопке что угодно можно фигануть. Я всётаки хотел довести ету идею до ума...т.е. пока получается мне нужно совершить 2 действия: -загрузить линию из файла в чертёж (за что ещё раз спасибо), -и вставить её в чертёж глупым макросом; Хотелось бы одним щелчком, не знаю как грамотно дописать это всё...т.е. эхо вывод фигануть и т.п. да и lisp пока для меня не початый край. Как ни крути, одна фигня за лисп садиться надо ![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
> pyatifan : А в acadiso.lin есть описание линии "скрытая"? Если нет, то в качестве второго параметра передавай имя lin-файла с описанием этого типа линии.
Теперь насчет остального. Как пример. Пишу на коленке, т.к. работы много. За корявость прошу не судить особо строго. Код:
Теперь собственно вкусности: макрос на выполнение: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Из 25-го сообщения
Цитата:
__________________
Строишь завод, проводишь реактора испытание? грохнется иль долбанет - дважды проверь заранее! |
||||
![]() |
|
||||
проектирование гидротехнических сооружений Регистрация: 20.02.2006
Москва
Сообщений: 5,022
|
Люди, я в LISPе полный 0, но почитав тут Ваши посты меня заинтересовала тема... Посоветуйте, что почитать можно по LISPу для просвещения и возможно практического применения?
Ещё вопрос: т.к. я всегда работаю с одним набором слоёв, стилями текста и размеров - возможно-ли сделать как-нибудь чтоб автоматически при создани нового файла там создавались требуемые стили текста и размеров, ну и слои разумеется? - если не сложно, объясните мне-чайнику (ох губищи-то я раскатал ![]() |
|||
![]() |
|
||||
Продажа навыков и умений Регистрация: 20.11.2004
Сибирь
Сообщений: 2,498
|
Если совсе просто, то без знания лиспа можно сделать блок, в котором есть все необходимые слои, занести его на tool pallete и при создании чертежа просто вставлять его. (Ну это если совсем просто)
[ATTACH]1142183579.dwg[/ATTACH] |
|||
![]() |
|
||||
Java/Kotlin/Go Регистрация: 03.02.2006
Сообщений: 5,786
|
>>Серёга - Bilder
Если совсем просто, то надо создавать чертеж из шаблона с предустановленными параметрами ![]() А на тему изучения Лиспа уже было. Поищи. Примерные названия тем: "Литература по Лиспу", "Начинаю изучать Лисп" и т.д. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Хе, так там тогда в коде надо снимать обработку команды *text - чтоб на это дело не реагировало.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
>SkiFF №60
>Valuta Цитата:
>SkiFF №60 Или мириться, или менять версию... ЗЫ Причем слет команды UNDO получается на этот код Цитата:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Ну народ, я ж писал под конкретную задачу...
> VVA : А это на моем коде было? В смысле - некорректная обработка окончания команды? Или там несколько реакторов было, и они между собой все договориться не могли?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
>kpblc В 2004 при использовании лиспа №25 слетает UNDOCTL в 1, причем если закоментарить (vlr-command-reactor nil '((:vlr-commandEnded . endCommand))), то все нормально. Я когда убедился, закрыл документ с загруженным №25 (не автокад), открыл новый, загрузил №47 - точно также. Возможно, надо было закрыть Acad. Т.к. потом у меня №47 отрабатывает без проблем.
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
На уровне предположения - мои функции обрабатывают одни и те же команды, что и прописывается внутри. У тебя же - все вместе. Попробуй в своих дополнительную проверку поставить на выполняемые команды.
А вообще-то UNDOCTL, судя по документации, read-only, так что каким таким манером оно поменялось, до меня не доходит. ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
>SkiFF №60 Подправил лисп в посте №25. Теперь UNDO в 2004 должно отрабатывать по полной программе (по крайней мере у меня работает)
>kpblc и всем кому интересно, этот глюк происходил, если в ф-ции, отрабатывающей на окончание команды слой восстанавливался без анализа имени команды, а при налии глобальной переменной. Как только вставил if и проверку на имя команды все заработало :evil: Ты был прав [sm206] Цитата:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Для какого кода не срабатывает? Только что специально проверил код из №47, все нормально проходит, даже на пустом файле
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
>kpblc,
Я тут с вашей подачи начал баловаться реакторами и добаловался до интересной задачки. Требуется перевести блок, имя которого входит в заранее определенный список на специфический слой, определяемый другим примитивом, с котоым этот блок обретает общую точку. Проблема - в идетнификации последнего измененного объекта. Если блок вставляется insert-ом или копируется - проблем нет, потому как entlast [sm154]. А вот если он просто передвинут (move) или использован для удлинения/обрезания линии, то тады ой [sm2100]. Короче - люди добрые [sm1400]. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Может быть, попробовать (vla-pickfirstselectionset) - он же хранит в себе выделенные объекты?
И я не очень понял необходимости применения именно реакторов для такой задачи. Хотя... Если на команды _.move, _.copy, _.insert повесить, то можно и использовать. А вставку блока все одно производить можно выполнять лиспом и сразу на него давать все необходимое. Я бы, по крайней мере, так поступал. --- P.S. Хм, кажется, я начинаю клонироваться - меня становится много ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
[quote="kpblc"]Может быть, попробовать (vla-pickfirstselectionset) - он же хранит в себе выделенные объекты?
Мерси, завтра попробую. Цитата:
Цитата:
![]() --- Цитата:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Вес линии для слоя? Или установить celweight?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 28.08.2006
Новосибирск
Сообщений: 17
|
Цитата:
Говорит:"Неправильное ключевое слово." Автокад с официальной русской локализацией Понял почему, надо подчёркивание добавить: "_LWeight" 0.25 тогда не ругается Большое спасибо! |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
> wolt : ты пожалуйста, не обижайся, но диалог наш с тобой выглядит примерно:
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 28.08.2006
Новосибирск
Сообщений: 17
|
Цитата:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Из справки:
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер Регистрация: 12.10.2007
Россия, Энгельс
Сообщений: 27
|
Всем здрасте. Спасибо за вашу работу, очень классно!!!! Особое спасибо за посты 23 и 25!
Не совсем понял вот эту концовку: (wcmatch cmd_name "*HATCH*") ;_Если выполнается команда DIM* (wcmatch cmd_name "DIM*") ;_Если выполнается команда *HATCH* (wcmatch cmd_name "*TEXT") ;_Если выполнается команда *TEXT (TEXT DTEXT) Почему такое следование, HATCH когда выполнается команда DIM DIM Если выполнается команда *HATCH* Со звездочками разобрался ![]() Еще вопрос! Можноли назначать теже функции, настройки по слоям на кнопки СПДС и Прожект Студио? Наблидается некоторая несовместимость Прожект Студио с СПДС, можноли програмными методами убрать это, т.е может кто нибудь написать лисп, а именно что хотелосьбы, 1. убрать панель масштаба Прожект студио, чтобы не просто вид его пропал а просто убрять его функционал. Чтобы масштаб использовался только СПДСный. 2. Убрать размерные стили Прожекта полностью, чтобы все размерные стили использовались от СПДС 3. Отключить в Прожекте функцию округления десятичных значение, т.е. по умолчанию в Автокаде стоит четыре нуля после запятой, а прожек показывает только целочисленные значения Сие дело возможно реализовать??? Последний раз редактировалось СерJант, 19.10.2007 в 12:33. |
|||
![]() |
|
||||
Инженер Регистрация: 12.10.2007
Россия, Энгельс
Сообщений: 27
|
Ребят а если использовать в качестве изменения типа линий команду _LineType
Что нибудь можно придумать, а то ког больно сложный , не разобрался. Пробовал прописать в код из поста №45 _LineType, не чего не получилось , пишет ошибку, помогите пожалуста. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
dwg.ru/art/8
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Светопрозрачные конструкции, проектирование Регистрация: 29.07.2008
Сообщений: 47
|
Здравствуйте.
Я давно пользуюсь лиспом из #47, за что огромное спасибо его содателям. Как то в инете нашел похожий лисп и вот решил поднять старую тему. В этом лиспе есть некоторые полезные функции, которые не реализованы в программе kpblcа, а так хотелось бы их иметь. Например перенос автокадовской выноски на слой Dim2. Проблема только в том, что этот липс создает слои с англ. названиями и типом линий по умолчанию. Что бы не плодить новые слои в старых чертежах хотелось бы иметь возможность изменить настройки слоя: цвет, вес линий, название слоя. Пробывал просто переписать в тексте программы название слоя (в лиспе из #47 это проходит) - автокад выводит на экран палитру цветов и просит указать цвет, только после этого лисп начинает работать. Вопрос: как изменить код чтобы можно было менять настройки создаваемых слоев. Подозреваю, что придется править (или создать новый) файл VRL-Manager.fas, но как - я не знаю. В принципе, можно добавить эти функции (перенос выноски, видовых экранов и маркера центра на свои слои) из этого лиспа в код kpblса, отличная программа получится. |
|||
![]() |
|
||||
Регистрация: 05.09.2008
Сообщений: 24
|
Я не думаю, что тут нужно программирование и всякие там замороченые реакторы.
Для таких целей применяйте Tool Palettes (инструментальные палитры) Я все графические примитивы, блоки и размеры и почти все лиспы ввожу с Tool Palettes (окно инструментальных палитр CRL+3). Можно задать все свойства: от слоя до динамических свойств динамических блоков. Начните копировать и вставлять инструменты с палитры под названием "инструменты-команды" (command tools). Там имеется рисовальные команды меню "рисование", штриховки, таблица, размеры и даже выражение Lisp и что примечательно: примитивы, которые создаются этим Lisp-ом автоматически наследуют все свойста от свойств команды. Настройка команды - по правому щелчку мыши выбираете "Свойства" (properties). Читайте справку по Tool Palettes , потому что это удивительно удобная и мощная вещь, с помощью которой я помещаю все объекты на свои слои. На каждый слой - по палитре. Для блоков можно задать масштаб и его зависимость от переменной dimscale, что обеспечивает автоматическое масштабирование блоков в зависимости от масштаба вывода на печать. Мне также нравится возможность помещать любое лисп-выражение, макрокоманду - это моментальное создание своей кнопки. Любому инструменту на палитре можно задать свою картинку. |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Цитата:
. Цитата:
|
|||
![]() |
|
||||
Регистрация: 05.09.2008
Сообщений: 24
|
Цитата:
С реакторами тоже не все просто будет, если число слоев перевалит за сотню, мне так кажется Цитата:
Цитата:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
На палитрах штатными средствами AutoCAD можно разместить строго определенные Flyout'ы. Для создания собственных надо капитально ломать голову и, по-моему, использовать как минимум dll, подгружаемые через _.netload или ObjectARX. И, по-моему, в "чистом" autoCAD'e далеко не каждому инструменту можно назначить "любую" кнопку.
Ты, по-моему, немного не договариваешь о группировке палитр. Кстати, все эти вопросы уже поднимались на форуме (по-моему, в теме по играм с CUI). --- По #96 : увы и ах, сейчас капитально не хватает времени на исправление. Может, кто из зубров подключится...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
|
|||
![]() |
|
||||
Регистрация: 05.09.2008
Сообщений: 24
|
Цитата:
1) Если есть талант художника: рисуете квадрат в Автокаде, в этот квадрат вписываете свою картинку обычными примитивами автокада. 2) создаете из того, что вы вписали в квадрат, блок с характерным названием <название>, чтобы потом его найти. 3) сохраняете чертеж 4) перетаскиваете вхождение созданого вами блока на палитру. По успешному помещению этого блока на палитру автокад создает в папке ToolPallette\Pallettes\Images два рисунка в формате PNG с названиями <название>32.png и <название>64.png. Путь к ToolPallette можно посмотеть в Options на вкладке Files->Tool Pallettes File Location. 5)выделяте на tool pallette свой lisp, правым кликом вызываете контекстное меню, выбираете пункт Specify image.. - должен появиться стандартный диалог выбора файла с допустимыми расширениями gif,jpeg,bmp,png и открыться по умолчанию он должен именно в папке ToolPallette\Pallettes\Images. Указываете любую из созданных в п.4 картинок - и все: вместо стандартной картинки с листом бумаги со скобками и надписью LISP на нем появляется ваша иконка. В принципе, картинку можно подготовить в любом графическом редакторе, но так как вы владеете авткадом, проще нарисовать в нем. Блок нужен только для генерации картинки. С вылетающими кнопками я погорячился, похоже, в автокаде все два предустановленных флайоута - с командами рисования и с размерами. Я даже не знаю пока, есть ли возможность создать дополнительные. Я также думаю, что народ, который постился в теме "игры с CUI" знаем по-более моего, так что следите за новыми сообщениями там. Чтобы создать свой лисп на палитре, перетащите туда любой примитив типа линии, текста из риснунка, зайдете в свойства созданного инструмента (properties в контекстном меню по правому клику ), выставьте use flyout в No, а Command string - ваш лисп или макрос. Можно перетащить на палитру команду из диалога настройки CUI Последний раз редактировалось Красин, 20.09.2008 в 18:33. |
|||
![]() |
|
||||
VVA, а можно дополнить лисп №25 еще 2 элементами:
Перенос _table в слой "Таблицы" Перенос _mleader в слой "_Выноски"?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
wetr, Обновил #25. С цветами слоев думаю сам разберешься
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
VVA, отлично все работает!!!
Но есть 2 момента. 1) Реактор не срабатывает при вставке таблицы с помощью лиспа "vrc.lsp" 2) Реактор не срабатывает при вставке таблицы с помощью _dataextraction
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
wetr, Реактор срабатывает на команду (например _table), а таблица в vrc вставляется с помощью vla-* методов. Реактор никоим способом ее не видит. Здесь нужно назначать слой таблицы в vrc.
Предлагаю использовать или ф-цибю Алексея _kpblc-layer-create из #47 или ее модификацию _dwgru-layer-create Отличия Цитата:
Тогда код из #25 может выглядеть так Важно Необходима ф-ция _dwgru-layer-create отсюда http://dwg.ru/f/showpost.php?p=93168&postcount=3 Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Дело в том, что функция Алексея не работает в 2009 каде. Ну или я ее не смог запустить. Поместил в автогагрузку, а при создании нового файла пишет
Код:
Твой код работает на ура. Я потому к тебе и обратился.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
wetr, Добавь в начало (vl-load-com) (лучше самой первой строкой автозагрузки (mnl или lsp файла)
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Цитата:
И в эту функцию _dwgru-layer-create, тоже добавить пришлось. Цитата:
![]() А в чем отличия? Я заметил только, что реактор крыса создает слои только после выполнения команды, а твой сразу при загрузке нового файла
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Про реакторы не скажу, не смотрел.
_dwgru-layer-create отличается от ф-ции Алексея только Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 09.10.2008 в 17:56. |
|||
![]() |
|
||||
Спасибо, VVA. Теперь я знаю для кого пишут коменты в лиспах
![]() Вот здесь попробовал - все получилось. Добавил еще непечатаемый слой "_Вспомогательные" реагирует на простановку _xline. И добавил обработку команды _dataextraction. Все работает вроде. Тьфу-тьфу, штоб не сглазить ![]() В общем с меня пыво ![]() Код:
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) Последний раз редактировалось wetr, 09.10.2008 в 16:47. |
||||
![]() |
|
||||
лайсенсед инжиниа Регистрация: 15.04.2006
город-герой Волгоград (Сталинград)
Сообщений: 1,158
|
VVA, у меня возникает следующая проблема... Код из поста 25 работает, но после завершения команды часто возвращается не на предыдущий слой, а на сохраненный по умолчанию текущим в шаблоне чертежа. Иногда вообще не возвращается. У меня стоит AutoCAD 2008 русский + СПДС. Может это в ней дело?
Прикладываю ролики... |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
gipro, Вполне возможно. У меня нет опыта эксплуатации #25. Скорее это нужно спросить у wetr (про возвращение слоя). Там все простою: при старте команды слой запоминается в переменной и устанавливается текущим, по окончании восстанавливается сохраненный.
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 11.10.2008 в 23:02. |
|||
![]() |
|
||||
Светопрозрачные конструкции, проектирование Регистрация: 29.07.2008
Сообщений: 47
|
VVA, wetr: ну просто супер!
![]() Однако есть одно несущественное неудобство. Допустим нужно открыть файл только чтобы просмотреть его содержимое не производя никаких действий. В этом случае при закрытии файла AutoCAD выдает запрос о сохранении изменений. А если таких файлов нужно открыть и закрыть несколько подряд (мне иногда приходится просматривать каталоги алюминиевых профилей в dwg-формате) - появляется много рутины. В связм с этим вопрос: нельзя ли создание слоя повесить не на открытие чертежа, а на ту или иную команду, как это сделано у kpblca в #47. Буду очень благодарен ![]() |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
andrew_ro, Вариант из #25 (вариант с функциями _dwgru-layer-create в коментариях, сама ф-ция по ссылке #108 или в #113)
Две команды: CRON - Command Reactor ON Включает командный реактор CROFF - Command Reactor OFF Отключает командный реактор. Можно в процессе работы приостанавливать разнос примитивов по слоям и снова включать Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 12.10.2008 в 15:38. Причина: орфография |
|||
![]() |
|
||||
Светопрозрачные конструкции, проектирование Регистрация: 29.07.2008
Сообщений: 47
|
VVA, спасибо. Возможность откл/вкл реактор добавляет универсальность программе.
И еще я не пойму как задать суффикс имени слоя. Если я правильно понял, при открытии чертежа, в котором есть слой "Размеры", имя слоя изменится на "_Размеры" без создания нового слоя? Какую строку и в какое место в коде нужно добавить? Перепробовал несколько вариантов с учетом #112, но в результате: например, если говорить о нулевом слое, появляется слой с именем "0_Размеры". Что я делаю не так? |
|||
![]() |
|
||||
Светопрозрачные конструкции, проектирование Регистрация: 29.07.2008
Сообщений: 47
|
VVA,
Цитата:
Цитата:
А хотелось бы из открытого чертежа отключать создание слоев во вновь открываемых файлах. P.S. Я извиняюсь за навязчивось, уж больно полезная программа и хочется отшлифовать ее. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
andrew_ro,
Цитата:
Цитата:
Цитата:
dextron3, Здесь реакторы на команды. Поэтому теоретически можно, но сам СПДС может менять слой своих объетов после создания vla или arx методами. Тем более, что у СПДС есть родные инструменты.
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 12.10.2008 в 19:34. |
|||
![]() |
|
||||
Светопрозрачные конструкции, проектирование Регистрация: 29.07.2008
Сообщений: 47
|
VVA, все получилось. Код из #25 действительно висел в атозагрузке: я думал что код из #117 дополнение, а не самостоятельная программа.
Спасибо ну просто ОГРОМНОЕ! Это даже больше, чем я хотел здесь. |
|||
![]() |
|
||||
andrew_ro, насколько я понял тебе и нужен код Алексея.
попробуй *добавлено по сравнению с №47 - слой "_Таблицы" для таблиц (включая _dataextraction) - слой "_Выноски" для лидеров - слой "_Вспомог" для прямой *Добавлено* "И тут Остапа понесло..." ![]() - слой "VPORTS" для вьюпортов Слои и толщины настраивай под себя Код:
В №113 слои создаются сразу при открытии файла - даже нового (авторы Кочетков Андрей, VVA, krblc) В этом коде слои создаются только при вызове соответствующей команды (автор krblc)
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) Последний раз редактировалось wetr, 13.10.2008 в 05:27. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
При вставке из палитр выполняется команда EXECUTETOOL. Как на команду реактор поставить можно (скорее всего), но понять что в данный момент вставляется (штриховка или блок) не возможно. Так что на слой штриховки будут попадать и блоки. Правильнее как в #127.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Светопрозрачные конструкции, проектирование Регистрация: 29.07.2008
Сообщений: 47
|
wetr, спасибо.
Я давно не заглядывал в ветку, потому что сам методом проб и ошибок (ну их практически не было) переделал код Алексея из #47 "под себя". Сейчас тестирую.Только почемуто он не работает в версиях AutoCAD выше 2007. Заодно поэкспериментирую и с твоим из #125. Еще раз спасибо. |
|||
![]() |
|
||||
м.б. надо подгрузить visual lisp ? (vl-load-com)
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
Светопрозрачные конструкции, проектирование Регистрация: 29.07.2008
Сообщений: 47
|
Цитата:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Конструктор (МК) Регистрация: 27.11.2007
Львів
Сообщений: 456
![]() |
Скачал здесь на форуме код, который загоняет размеры и текст на нужные слои, переделал его под себя, вроде бы все было чудесно на 2007-м акаде, но когда попробовал загрузить у сотрудника на 2009-м возникла следующая ситуация. Допустим, у меня активен другой слои, не размеры. Я проставляю размер (он проставляется в нужном мне слое РАЗМЕРЫ), дальше активным вновь становится мой текущий слой, но (!) после этого я уже не могу сделать активным любой другой слой кроме того, который был до проставления размера, назначить любой слой объекту могу, а сделать слой текущим нет. Такой глюк появился только в 2009-й версии акада.
Прилагаю этот самый код: Код:
Прошу знатоков лиспа подсказать мне в чем может быть дело. Я сам на данный момент только начал изучать лисп по скачанных тут уроках (автолисп в восьми уроках), со временем, может буду что-то посерьезнее читать, а пока только знакомлюсь с основными понятиями. Последний раз редактировалось beholder, 26.11.2008 в 00:01. Причина: Тэги code кто проставлять будет? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Скорее всего, реакторы загружаются несколько раз и поэтому "хамят". Попробуй такой код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Конструктор (МК) Регистрация: 27.11.2007
Львів
Сообщений: 456
![]() |
Кулик Алексей aka kpblc, попробовал твой код, - результат точто такой же, как и с моим, причем пробовал на разных машинах, так же как и было - после загрузки невозможно установить текущим ни одного другого слоя, назначить же слой объекту удается... Если может кому-нибудь другому у кого стоит 2009-й акад попробовать как работает данный код у него на машине, буду очень благодарен.p.s. Код в посте №140, нужен обязательно 2009-й акад (на других, по крайней мере на 2007-м и 2006-м проблем не возникает).
Последний раз редактировалось beholder, 28.11.2008 в 09:12. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
beholder, То что показал Алексей не лишне. Вскрытие показало наличие грубейшей ошибки в логике. Непоянтно почему это работало в предыдущих версиях ??? К коду №140 Добавил исправление ошибки (выделил красным) и добавил 2 команды (CMDS и CMDE) на аткивации и остановки командных реакторов в сеансе работы
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
VVA, Хотел спросить можно ли с помощью лиспа менять у текста Justify ? (центральный, левый и правый, путем выделения прямоугольником автокада)
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
dextron3, А _justifytext чем не устраивает?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
проектировшик Регистрация: 01.01.2007
СССР
Сообщений: 5,149
|
VVA, спасибо, а что вы делаете когда у вас кнопки на экране уже в три ряда и все нужные, места где рисовать не осталось
посоветуйте, пробовал включающие кнопки для панелей назначить так позиционирование на экране не удобно...
__________________
инженер проектировшик с опттом программа авто гад образование высшие |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Наиболее частые - алиасы и tool palette Например, команда _justifytext находится в меню Редактировать->Объект->Текст->Выравнивание
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
пользуюсь
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Можно. Вся эта тема как раз решению этого вопроса и посвящена.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Попробуй код с http://forum.dwg.ru/showpost.php?p=60065&postcount=47
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
dREYb, какой код не работает-то?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Все коды подряд я не отслеживал. Мой код (который в #47, кажется), у меня корректно работал везде где только можно (AutoCAD'ы начиная с версии 2002 по 2008, разные локализации и разные вертикальные решения). Ткни пальцем в пост, про который ты говоришь!
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
dREYb, Точно рабочие см. посты #47 и #25
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Светопрозрачные конструкции, проектирование Регистрация: 29.07.2008
Сообщений: 47
|
SergAM243,
Находишь в тексте программы строку Цитата:
Цитата:
|
|||
![]() |
|
||||
инженерю чуть Регистрация: 14.07.2008
Севастополь
Сообщений: 42
![]() |
Спасибо за ответ! Код #47 я просматривал, про "_lw" догадался, но пытался вставить команду внутрь одной из пары двойных заключительных кавычек. В результате я получил почти то, что хотел. Только по окончанию кода он (АКад) на меня ругался и требовал завершения команды.После Вашего ответа понял, что я неправильно делал. Еще раз спасибо!!!
|
|||
![]() |
|
||||
Светопрозрачные конструкции, проектирование Регистрация: 29.07.2008
Сообщений: 47
|
Цитата:
Последний раз редактировалось andrew_ro, 18.12.2008 в 12:43. |
|||
![]() |
|
||||
инженерю чуть Регистрация: 14.07.2008
Севастополь
Сообщений: 42
![]() |
Считаю это явно излишним менять цвет курсора под слой! Для мэтров - это конечно интересная задача! А для работы, когда курсор меняет цвет , как ... простите не знаю как обозвать, думаю не будет большой информативности. А если слоев не 22, как у меня, а, как некоторые здесь указывали, за 100? В этих ста оттенках курсора разобраться и запомнить их , по-моему нереально!
|
|||
![]() |
|
||||
Светопрозрачные конструкции, проектирование Регистрация: 29.07.2008
Сообщений: 47
|
Цитата:
|
|||
![]() |
|
||||
инженерю чуть Регистрация: 14.07.2008
Севастополь
Сообщений: 42
![]() |
А пользу от #25 и #47(в котором я не смог правда разобраться) вижу в том, что можно их (даже насильно) подсунуть в автозагрузку "тетушке", один день выслушать все-все-все, пожимая плечами, и наблюдать как через неделю-другую они привыкнут к хорошему. И будет положено начало хоть какого-то порядка в чертежах! А то все слой 0 и стили текста и размеров STANDARD (под которыми скрывается все,что хочешь)!
|
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,917
![]() |
Offtop:
Цитата:
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Конструктор Регистрация: 16.01.2006
Москва
Сообщений: 68
|
Раньше при простановке размеров они сами создавались на слое "Dim". Но размеры написал сам. Теперь некоторые использую штатные. Линейные и угловые. Чтобы они тоже были на слое "Dim" сделал пунккт меню, с помощью которого запускаю функцию пересылающую все размеры на этот слой. Делаю это периодически или в конце работы.
Функция вот такая: (defun CHGL_dim () (setvar "cmdecho" 0) (setq Ss1 (ssget "X"'((0 . "DIMENSION")))) (setq $lay (getvar "CLAYER")) (command "_layer" "_m" "dim" "") (command "_change" Ss1 "" "_prop" "_layer" "dim" "") (command "_layer" "_set" $lay "") (princ) );end CHGL_dim |
|||
![]() |
|
||||
Кулик Алексей aka kpblc, не хочешь улучшить свой реактор? Лисп отличный, тестирую уже 2 год, никаких проблем не было. Ему не хватает только настроек слоев в диалоговом окне.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
И как это должно выглядеть? Само окно.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Список элементов, для которых нужно "подставлять" слои.
Каждый элемент списка по умолчанию - "погашен". Чтобы активировать, нужно поставить галочку напротив. Когда активировали, становится активной вся строка напротив элемента, как в менеджере слоев. Там можно задать настройки и ИМЯ слоя. Если сделаешь - можно смело (рядом с веткадом) выставлять на продажу. Без шуток.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Тогда получается, что надо предлагать обработку для следующих примитивов:
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,917
![]() |
Цитата:
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Ок, попробую на выходных время выкроить...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер строитель Регистрация: 24.02.2005
Москва
Сообщений: 396
|
Как вариант программа FLAY
http://www.xanadu.cz/dl_file.asp?ID=860 |
|||
![]() |
|
||||
лайсенсед инжиниа Регистрация: 15.04.2006
город-герой Волгоград (Сталинград)
Сообщений: 1,158
|
Кстати, об VetCAD... Я активно пользуюсь его инструментами "сварка" (считаю их куда более удачными, чем СПДС). Помогите заставить их отрисовываться на соответствующем слое... Сам пользуюсь кодом из 25-го поста. Подскажите, что и куда там добавить.
Последний раз редактировалось gipro, 11.06.2009 в 14:29. |
|||
![]() |
|
||||
Кулик Алексей aka kpblc, еще можно вьюпорты обрабатывать. На вырост, можно и мультилинии добавлять. Если имя слоя брать из Стиля мультилинии.
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
конструктор Регистрация: 23.03.2009
Волгоград
Сообщений: 120
|
Цитата:
Код:
__________________
Мой сайт ingnmb.wixsite.com/acad-s Последний раз редактировалось Кулик Алексей aka kpblc, 16.11.2012 в 13:44. |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Спасибо что откликнулся!
Проверил, но почемуто не работает, говорю что делал: Закинул в автозапуск, создал как в примере слой DIM_TWO и стиль Размеры_two чтоб проверить работоспособность... подставлял и свои, но не работает ни один. Возможно я чо не так сделал? |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Цитата:
Когда загрузил в автозагрузку лисп со своими натсройками(красным), то оно неработает: Код:
Последний раз редактировалось Кулик Алексей aka kpblc, 16.11.2012 в 13:46. |
|||
![]() |
|
||||
конструктор Регистрация: 23.03.2009
Волгоград
Сообщений: 120
|
Так писать нельзя. Надо, что бы в программе название слоев были заглавными буквами от того, что строчка у kpblc такая:
Код:
Код:
ЗЫ. Как говорил Жванецкий: "Тщательнее надо ребята..."
__________________
Мой сайт ingnmb.wixsite.com/acad-s |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Спасибо, исправил, работает замечательно.
Есть ещо 1-н вопросик, а возможно штоб текст в зависимости от высоты перемещался на слои. вот по таким параметрам (первый столбик высота текста, после "-слой->" название слоя): 2.5, 3, 4 -слой-> 02 DIM (1x1) __________________________________________ 5, 6, 8 -слой-> 02 DIM (1x2) __________________________________________ 10,12.5,16 -слой-> 02 DIM (1x4-5) __________________________________________ 20, 25 -слой-> 02 DIM (1х08-10) __________________________________________ 40, 50 -слой-> 02 DIM (1х16-20) __________________________________________ любые другие высоты -слой-> 10 Text Последний раз редактировалось Positron, 11.02.2010 в 14:24. Причина: Вопрос по высотам текста на слоя |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Такое (в общем случае) будет возможно только по завершении команды. Или писать переопределенную команду.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
конструктор Регистрация: 23.03.2009
Волгоград
Сообщений: 120
|
Я, в своем "строителе" сделал для текста высотой 2,5мм (команда "текст_м") такой программный перевод на нужный слой (он настраивается). Но прежде небольшое пояснение.
Не нравится мне чертить в видовых экранах на листах (layout). Разбиваю чертеж в пространстве модели на масштабные зоны, управляемые программой через блок с скрытыми атрибутами. В этом блоке записаны масштаб и координаты зоны этого масштаба. Рисуя в той или иной зоне, происходит автоматический переход масштабов для отрисовки оформительских элементов "строителя", текста и размерных стилей (для каждого масштаба определяю свой размерный стиль с заданным глобально масштабом). Код:
С масшатабными зонами пока не все дается просто. По части переключения размерных стилей, в тех, где требуется выбрать примитив - круг, дугу или линии (размеры угла или радиуса).
__________________
Мой сайт ingnmb.wixsite.com/acad-s |
|||
![]() |
|
||||
конструктор Регистрация: 30.04.2009
Красноярск
Сообщений: 53
![]() |
С недавних пор задалась проблемой, а можно ли командам присвоить слои..Прочитала ваше обсуждение данной проблемы с самого начала и до конца...
Скажу честно, програмист из меня никакой, я ничего не поняла в ваших кодах и лиспах, что и куда вставлять надо.... Ответьте мне пожлста, можно ли профану, такому как я, без кодов и подобных ему..., присваивать командам слои в 2009 акаде? |
|||
![]() |
|
||||
Регистрация: 25.12.2005
Москва
Сообщений: 13,627
|
Содаете новую палитру инструментов с помощью контекстного меню по щелчку правой кнопкой мыши на пустом месте существующей палитры инструментов. С помощью контекстного меню запускаете Адаптацию палитр. Удерживая нажатой клавишу Ctrl, перетаскиваете любую кнопку с панелей на новую палитру. Далее смотрите и редактируете свойства этого инструмента по правой кнопке мыши.
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Это работает в любом AutoCAD независимо ни от чего.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Я (за всех говорить не буду) имел в виду, что:
а) методология создания палитр инструментов "вшита" в AutoCAD б) если на палитру инструментов поместить, например, команду "_.dimlinear" и соответствующим образом ее настроить, то при вызове этой команды будет выполняться создание / активация слоя. в) если палитры инструментов не устраивают, то надо подгружать соответствующее расширение - либо бесплатное (как в этой теме), либо платное (например, СПДС GraphiCS / MechaniCS etc)
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Дизайнер-конструктор Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
![]() |
Подскажите, а как сделать lisp для выделения только размеров из выбираемого мной множества объектов
Что-то типа _filter , в нем Dimension, но БЕЗ ВЫЗОВА диалогового окна, может можно макросом обойтись?
__________________
Kiev, Ukraine |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Программист широкого профиля. Регистрация: 08.09.2005
Челябинск
Сообщений: 722
|
Цитата:
зачем выключать все реакторы? А если там есть реакторы от сторонних производителей, которые тоже делают полезное дело? А если юзер грузит лисп по 200 раз это его проблемы. Если обезьяна с гранатой проникла на склад взрывчатых веществ то лучше ее пристрелить чем поймать. |
|||
![]() |
|
||||
конструктор мебели Регистрация: 28.02.2010
г. Гатчина
Сообщений: 27
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Ну так никто секретов и не делает. Код можно поправить по своему усмотрению
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 20.05.2010
Сообщений: 1
|
Уважаемые, Гуру, подскажите пожалуйста как сделать реактор отслеживающий изменение значения размера при редактировании его средствами СПДС GraphiCS. В частности, если значение размера при редактировании стало отличным от действительного (созданного автокадом и имеющего <>), то он приобретает другой цвет, если значение осталось прежним (пользователь вышел из диалогового окна редактирования размера без внесения изменений, или вернул действительное значение уже окрашенному размеру) цвет возвращается на изначально заданный по сою для размеров. Заранее благодарен за внимание.
|
|||
![]() |
|
||||
Oxypropane welder Регистрация: 29.01.2008
Unix
Сообщений: 770
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Ты тему не перепутал?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Кулик Алексей aka kpblc, а можно сделать настройку в лиспе, для выбора помещать/не помещать объекты на слой?
Я добавил лисп в корпоративный cuix-файл, но некоторым пользователям не нужно разносить тексты в слой "Текст". Они имеют больше слоев. Очень не хочется дублировать корпоративную панель, только чтобы подружать другой lisp. М.б. конструкцию типа Код:
А еще лучше, чтобы в виде диалогового окна выскакивали опции, где нужно ставить галочки
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Ты посмотри на #25 этой темы.
> wetr: теоретически такое сделать можно, но уж больно долго... Сейчас просто нет времени и возможности подобным заниматься ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Цитата:
Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 20.10.2010 в 20:23. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
gomer, Код следует грузить 1 раз в сеансе, т.к. там активизируются реакторы и они действуют и работают. Если есть необходимость грузить посторно, то перемести этот фрагмент
Код:
*** Добавлено В #25 пост добавил вариант от Lee MAC (более правильный на мой взгляд)
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 20.10.2010 в 22:25. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
VVA, решил эту задачку по другому немного...
Код:
2. не создаются "ненужные" слои (они создаются, когда это необходимо) 3. реактор не удаляется при перезагрузке (зачем?) зы еще раз убедился реакторы + команды - штука "взрывоопасная" ![]() ***Добавлено*** 2010 10 21 - Если слой заморожен выдается сообщение об этом... Последний раз редактировалось gomer, 21.10.2010 в 21:32. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
gomer, Я в #25 добавил код от Lee Mac. Он решен более корректно. Там одна команда LD, работающая по принципу : если реакторы выключены - включает и наоборот
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
VVA, спасибо, уже практически настроил под себя такой вариант. Немного смущают ваши высказывания
Цитата:
Цитата:
VVA, в новых версиях mnl файл не создается. Могу ли я создать его вручную и прописать в нем все что захочу, как раньше? Те с cuix файл mnl должен подгружаться?
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) |
||||
![]() |
|
||||
Я верно понял лисп из поста 25 - в предлагаемом решении разнос объектов по слоям происходит на основе команды, с помощью которой был создан объект?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Цитата:
Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: Последний раз редактировалось hwd, 21.10.2010 в 12:45. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Второе высказывание не мое, но отвечу - на используемые команды так же реагирует реактор, поэтому можно получить то, что получили в #230
Цитата:
![]()
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Люди пользуются, людям нравится - так что ведро подождет
![]() Другое дело, что при черчении с грамотно настроеной палитры, надобность в такой программе отпадает сама собой. Но тут уж кому как нравится... Цитата:
|
||||
![]() |
|
||||
Значит подобные задачи нужно решать не с помощью лиспа.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
"Решена" - это когда решение будет корректно работать в любой ситуации.
![]()
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Ну а на какое еще можно рассчитывать на общедоступном форуме?
Можно, в принципе, и на лиспе обрабатывать добавление объекта в базу чертежа, запоминать такие объекты и при наступлении какого-нибудь другого события (завершения команды, завершения работы приложения) раскидывать запомненные объекты по слоям. Написать-то можно, но что-то мне подсказывает, что тем, кто будет пользоваться этой программой, достаточно и того, что уже написано. |
||||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Цитата:
По-поводу одной команды: как узнать активен ли сейчас реактор или нет без простановки размера? Итак, ИМХО, нужна кнопка в меню с галкой... вопрос в в том, как сделать макрос для кнопки ![]() |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Находишь строчку Цитата:
Цитата:
*** Добавлено При аткивности реактора в строке MODEMACRO (левый нижний угол) будет надпись "LD+"
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 21.10.2010 в 20:33. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Цитата:
![]() ![]() 3ы По #25/2 Не смог воспроизвести ситуацию когда предыдущий слой заморожен... Но мысль правильная))) не пойму пока игнор UNDO... Последний раз редактировалось gomer, 21.10.2010 в 21:40. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
gomer, Скопируй еще раз. Я немного позже добавил надпись LD+
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Можно всесто MODEMACRO "писать" в пользовательские переменные USERI1 ... USERI5; USERR1...USERR5; USERS1 ... USERS5 и проверять дизелем.
Но туда так же могут писать все кому не лень.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Цитата:
У меня автозагрузка LISP_ов осуществляется через *.cuix Наверно имеет смысл автозагрузку всех программ переписать в MNL и глобальную переменную *USERNOAUTOLAYER* оперделять в самом начале файла? ***Добавлено*** Не прокатывает такой вариант((( Вот содержание файла MNL Код:
Код:
![]()
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) Последний раз редактировалось wetr, 22.10.2010 в 03:37. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
wetr,
Проблема в регистрах. У тебя в *USERNOAUTOLAYER*в нижнем, а в сравнении (if (not(member (strcase(getenv "USERNAME")) Попробуй заменить этим фрагментом Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
VVA, спасибо, все получилось! Только вот "хвосты" вываливаются в командной строке, несмотря на
Код:
Цитата:
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14) Последний раз редактировалось wetr, 25.10.2010 в 03:01. |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
wetr,
В загрузке Vetcad++ CMDECHO может включаться. Прошерсти тамошние (Vetcad) lisp'ы и mnl файл
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
конструктор Регистрация: 02.12.2008
Москва
Сообщений: 32
|
Спасибо VVA за лисп из поста 25, вариант 1. Очень удобно!
Можно попросить автора подправить программу так, что бы размеры переносились на слой размер, текст на слой текст, а таблицы, выноски и штриховку она не трогала? сам поыпытался удалять часть кода. результат - вообще ничего не работает( |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
pgs112, Попробуй все-таки настроить ее самостоятельно. Удалять код не нужно, нужно комментировать.
Все действия на команды подписаны коментариями типа "Если выполняется команда XXX" Находим нужную и коментируем (ставим символ ; впереди). Например что нужно сделать для таблиц: Ищем "Если выполняется команда *TABLE" Находим кусок из 3 строк Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 06.08.2008
Сообщений: 30
|
Доброе всем время суток!
подскажите пожалуйста можно ли сделать команду которая бы включала и отключала режим прибавления суффикса к имени текущего слоя, а при отключенном режиме чтобы размеры шли в слой "_Размеры"?(остальные реакторы оставить без изменений) лисп из #113 Код:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Держи. Здесь более "правильная" _dwgru-layer-create
Изменения выделил красным Добавлены команды SUFFON и SUFFOFF При включенном режиме SUFFON в строке MODEMACRO будет надпись *SUFFON* Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 04.03.2011 в 12:28. |
|||
![]() |
|
||||
Регистрация: 06.08.2008
Сообщений: 30
|
Цитата:
|
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Приветствую. Вопрос такой. Брал лисп из этой темы что бы размеры переносились на слой размеры и т.д. Добавлял свои элементы, все работает. Но единственное когда подключаю подправленный лисп, выдается ошибка.
Команда: _appload reactor.lsp успешно загружено. Команда: ; ошибка: лишняя закрывающая скобка на входе Как уже сказал все работает, но эта ошибка напрягает. Сравнивал коды, но так и не нашел эту лишнюю скобку. Как найти эту лишнюю скобку? Последний раз редактировалось Astartes, 22.12.2011 в 07:11. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Вроде так. Тестируй
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 25.06.2009
Сообщений: 147
|
Цитата:
2. Каждый стиль имеет свой слой соответственно добавляются ненужные "старые слоя". Вобщем каша... Помогите плиз, чтоб старые стили заменялись новыми и слоя тоже. Замена Стиль - "01_1 X 1" на "01_1X1" и Слой "02 DIM (1x5)" на "02 DIM (1x4-5)" ;; Перенесение заданных примитивов (размеры, штриховка, текст) на заданный слой Код:
Последний раз редактировалось Кулик Алексей aka kpblc, 16.11.2012 в 13:48. |
|||
![]() |
|
||||
гастарбайтер понаехал Регистрация: 07.12.2009
Маскво
Сообщений: 272
|
подскажите пожалуйста неграмотному крестьянину?
вот эта, например, строчка: (_dwgru-layer-create '(("name" . "_Вспомогательные")("color" . 1)("lw" . 15)("plot" . "n"))) здесь мы задаём последовательно сначала имя для слоя, затем цвет, затем вес линии и в конце - plot - не выводить на печать. это всё понятно. а как задать с этой строке тип линии? Константа lt - вроде бы отвечает за тип, но как именно нужно её задавать - никак не соображу. рассчитываю на принцип интернета: как только ты развернёшь на каком-нибудь форуме тему, и выставив себыя полным чайником, распишешь вопрос, так сразу же решение подвернётся в первом же результате поиска по гуглу. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Найди в коде описание этой ф-ции, там есть перечень возможных ключей
Код:
Пример Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
гастарбайтер понаехал Регистрация: 07.12.2009
Маскво
Сообщений: 272
|
чот не работает.
(_dwgru-layer-create '(("name" . "_Невидимая")("color" . 3)("lw" . 13)("lt" . "штриховая")("ltfile" . "C:\Program Files\AutoCAD 2010\UserDataCache\Support\acadiso.lin"))) может путь к acadiso.lin неправильно указываю? я уж и полный путь прописываю или просто указываю файл без пути - слой создаёт, с указанным именем/весом/цветом, но тип линии не хочет. ну что такое? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Если файл *.lin находится в путях поддержки AutoCAD, то указывать полный путь не надо.
При указании полного пути надо менять слеш "/" либо на двойной "//", либо на обратный "\".
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Поправлю Алексея
Либо на двойной "\\", либо на обратный "/" В данном случае просто укажи "acadiso.lin"
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Тьфу ты, действительно...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Попробуй сделать так:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
гастарбайтер понаехал Регистрация: 07.12.2009
Маскво
Сообщений: 272
|
дудки.
на работе пробовал на автокаде 2010 и винда семёрка. Думал, что это может быть особенность системы. Дома винда ХР, автокад 2009 - та же самая история(также не работает) Причём, если вставляешь эту строку, то не работает весь лисп. Только слои создаёт, но на слои при построениях не перекидывает. Слой "невидимые" создаёт, но тип линии - continuous, а никакой не hidden пойду повешусь |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
voverrr, в ближайшие 3 дня помочь не смогу вообще никак. Есть, конечно, вариант - попытаться через TeamViewer сконтачиться. Если устраивает - во вторник напиши мне в ЛС, попробуем разобраться. Чудес, как правило, не бывает...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
нефтепереработка Регистрация: 17.11.2009
Мозырь, Республика Беларусь
Сообщений: 77
|
Цитата:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
99xt1, Там же в примечании все расписано
В твоем случае Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 09.01.2010
Сообщений: 36
|
Подскажите пожалуйста, можно ли в данный лисп добавить следующее.
Есть в палитре блок Выноска с названием Выноска, хотелось бы чтобы при вставке данного блока, он вставлялся автоматически в слой Выноска, как это реализовано с командами QLEADER и MLEADER/ Или может быть другие варианты |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
ИМХО это проще будет сделать, настроив палитру...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
инженер-конструктор Регистрация: 24.04.2011
Минск
Сообщений: 320
|
я далеко не гуру lisp, но я для себя я решал схожую задачу (единственное вставка идёт из внешнего файла (моей библиотеки), а не из палитры). Вешал на сочетание клавиш. (использовал наработки VVA lib:add-block-to-doc-from-lib и kpblc _kpblc-layer-create)
Код:
Под свои нужны можно сделать что-то подобное. |
|||
![]() |
|
||||
гастарбайтер понаехал Регистрация: 07.12.2009
Маскво
Сообщений: 272
|
А возможно ли добавить в этот лисп, чтобы он создавал размерный стиль, с определёнными размерами стрелок, высотами текстов, расположениями по центру/над линией, подавлениями хвостовых и т.п.?
А мультивыноски? А текстовые стили? Это я хочу попробовать обойтись вовсе без создания шаблона .dwt |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
voverrr, см. http://forum.dwg.ru/showthread.php?t=3253 и http://autolisp.ru/2009/11/02/dimstyle-create/
Вообще-то поиск рулит: http://www.google.ru/cse?cx=partner-...%8F&gsc.page=1 ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 08.02.2013
Сообщений: 41
|
Здравствуйте.
Я подстроил немножко программу под себя, но один момент не работает. Проблема в том, что я хочу LINE, XLINE и PLINE вывести на один слой а SPLINE на другой, но не хочу писать 4 строчки по отдельности. Как добавить исключение к *LINE? Ниже в коде я выделил красным конфликтные строчки. Заранее благодарю. PS: В программировании я ноль, если что ![]() Код:
Последний раз редактировалось elnino, 16.05.2013 в 11:40. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
(wcmatch thecommandstart "LINE,XLINE,PLINE")
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 08.02.2013
Сообщений: 41
|
И все-таки, как добавить исключение, а то мысль пошла дальше, но натолкнулся на большое количество перечислений, наверняка должно быть проще.
Нужно посадить MC* на один слой а MCWLEG и MCWELD на другой. Что я делаю не так? Код:
Можно как нибудь добавить диалог с выбором из трех слоев для команды _line? Для толстых, тонких, и соответственно штрихпунктирных. Извиняюсь, если уже задавали такой вопрос. Последний раз редактировалось elnino, 16.05.2013 в 14:30. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
поменяй перечисление команд местами.
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
GEODATA Engineering S.p.A. Регистрация: 11.02.2005
Монино
Сообщений: 692
|
Не подскажете где косяк
Цитата:
Последний раз редактировалось gest, 17.10.2013 в 12:35. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
GEODATA Engineering S.p.A. Регистрация: 11.02.2005
Монино
Сообщений: 692
|
Исправил, теперь такое
Цитата:
При открытии чертежа (без указанных слоев) нет задания цвета, типа линии, веса слоев и не переносятся размеры и.т.п. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
gest Внимательно изучи порядок запросов команды _layer
Сравни 2 строчки твоя Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер (неуч) Регистрация: 12.03.2013
Сообщений: 482
|
Доброго времени суток. Уважаемый VVA пользуюсь вашей программой уже давно, классная программа, огромнейшее вам спасибо. Я в лиспе чайник у меня вопрос можно ли сделать автоматическое включение слоя для отрисовки сварных швов програмка Weld. Заранее благадарю.
|
|||
![]() |
|
||||
GEODATA Engineering S.p.A. Регистрация: 11.02.2005
Монино
Сообщений: 692
|
VVA
спасибо за помощь, никак не пойму как задать свой тип линии: Код:
Последний раз редактировалось gest, 18.10.2013 в 11:33. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
kga82,
Добавь в weld.lsp создание слоя в каждой команде по аналогии с кодом Код:
Цитата:
PS weld.lsp для kga82 layers.lsp - для gest
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Откликнулся.
![]()
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 16.10.2013
Сообщений: 395
|
Подскажите.
Есть лисп, который помещает размеры в размерный слой Цитата:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Потому что в строке (command "РЗМРАДИУС" pause pause pause)
последнее pause лишнее Код:
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 09.09.2015 в 08:04. |
|||
![]() |
|
||||
Регистрация: 15.10.2013
Сообщений: 30
|
Доброго времени суток!
Имеется следующая проблема: К примеру, у меня n-ое количество слоев для размеров: Размеры_1, Размеры_2, ..... , Размеры_n. Я сделал кнопку, которой присваиваю значение пользовательской переменной useri1. Можно ли в лисп добавить эту переменную в лисп автоматического переноса. Хочется что-то типа этого (я понимаю что это в корне не верно, но так проще объяснить что я хочу от лиспа): ;;;_Реакция на начало команды *DIM* (DIMALIGNED DIMLINEAR и все что начинается с DIM) ((wcmatch thecommandstart "*DIM*") ;_Если выполняется команда DIM* (setvar "clayer" "Размеры_$m=$(Getvar,Useri1)") Спасибо за внимание! |
|||
![]() |
|
||||
Доброго. Подниму тему.
Возникло небольшое затруднение при использовании реакторов с #25. При вставке hatch, если изменять в ходе команды параметры штриховки из ribbon то работа реакторов не совсем корректна. Вариант 1 (с командными методами) работает, но после завершения действия не меняет слой на прежний а остается на слое штриховки. Вариант 2 (от Lee Mac) при этом перестает работать вовсе, и штриховки попадает на текущий слой вместо требуемого. Последний раз редактировалось Red Nova, 28.08.2016 в 05:48. |
||||
![]() |
|
||||
Регистрация: 17.07.2009
Сообщений: 9
|
Уважаемые форумчане, а нет ли у кого подобного лиспа для НаноКада? Этот лисп там не работает (выдает ошибки), а сам я в лиспах не бум бум. В нанокаде можно по умолчанию задать чтобы размеры были в слое "размеры", а вот остальное не работает ((
|
|||
![]() |
|
||||
Инженер-проектировщик Регистрация: 07.07.2016
Санкт-Петербург
Сообщений: 759
|
Здравствуйте, гуру автокада и лиспа!
Сам я в лиспе не разбираюсь, поэтому хватило ума только взять представленный в этой теме код и переправить для пометочного облака. Код:
Последний раз редактировалось Кулик Алексей aka kpblc, 13.03.2017 в 23:15. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Как вариант, без особого тестирования:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Добрый день, форумчане! Использую первый лисп из #25.
Со своей задачей справляется. При открытии документов автоматом выплывает Диспетчер слоев. Мешает. Недавно подключилась и Справка. Теперь они вдвоем раздражают. С чем может быть связано? Перечитал всю ветку, так и не догадался. ![]() upd. Проблема решена
__________________
Начинающий Последний раз редактировалось Умяр, 21.12.2017 в 13:42. Причина: Разобрался с проблемой |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Проверь другие подключаемые приложения - возможно, там проблемы.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
архитектор Регистрация: 17.03.2015
респ. Коми
Сообщений: 55
|
Обратный вопрос, а как вычислить такой лисп, отправляющий все размеры на слой размеры?
На 17 кад ставил прежние липсы, веткад и тд. Попробовал их настройки- упорно размеры переносятся в тот слой.
__________________
архитектор дома, эскизы санаторий, дымоходы |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Цитата:
Если правильно понял, нужно создать слой "АР Оси", цвет которого должен быть из палитры RGB. Если это так, то нужно обеспечить загрузку лиспа: Код:
а затем заменить строку: Код:
Код:
Последний раз редактировалось skkkk, 07.04.2020 в 13:48. |
|||
![]() |
|
||||
очевидно, что после печати с монохромным стилем индексированные цвета будут черные, а 255,1,1 красным
убедиться легко вывести в на Dwg to PDF монохром
__________________
Мастерская СПДС |
||||
![]() |
|
||||
мы так подписи иногда раскрашиваем... знаю что низзя, но иногда очень нада)))
__________________
Мастерская СПДС |
||||
![]() |
|
||||
инженерю чуть Регистрация: 14.07.2008
Севастополь
Сообщений: 42
![]() |
Цитата:
Вот мой код, на основе кода №25: Код:
вставлял и сразу после лиспа, и в списке создаваемых слоев, и как в приведенном варианте, в самом конце кода. Но все время выдает ошибку: Команда: ; ошибка: Настройка переменной AutoCAD отвергнута: "clayer" nil Система Вин-7про-32, Кад-18_ру чистый со стандартной установкой СПДС и Експрессов. Если есть возможность, то прошу внести изменения в этот код, чтобы запускать один лисп. Если нет такой возможности, то отдельный лисп, чтобы они запускались по очереди. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Можно туда, да.
Цитата:
Плюс, напоминаю, что нужно обеспечить либо наличие в файле типа линий CENTER2, либо переименовать в коде имя файла с "acadiso.lin" на свой, в котором описан данный тип линий. Также файл должен находиться в путях доступа. К тому же в коде (#333) я не увидел, какой из типов объектов должен добавляться на слой "АР_Оси"? Либо код просто используется для создания слоя, сами оси (полагаю, блоки) переносятся на слой вручную? |
|||
![]() |
|
||||
мой лисп слишком слаб и имха задача назначить при создании слоя ему цвет RGB нетривиальна, иначе признанные метры лиспа давно послали где об этом почитать или предложили боевой код..
поэтому до выяснения предлагаю не парить мозг, а создаваемому слою задавать цвет из индексированных, редко используемых, в стиле печати монохром назначить этому индексированному цвету цвет пера который возжелал видеть нормоконтроллер или какой другой проверяющий ----- добавлено через ~2 мин. ----- ЗЫ для автоматизации создания слоев весьма рекомендую LayerDirector благо он теперь умеет создавать слои с заданными свойствами не только объектам-примитивам, но и на команды
__________________
Мастерская СПДС |
||||
![]() |
|
||||
инженерю чуть Регистрация: 14.07.2008
Севастополь
Сообщений: 42
![]() |
Спасибо! Попробовал.
Слой "АР_Оси" с цветом 255,1,1 в новом чистом файле создается, но если в файле уже есть слой "АР_Оси" с цветом 10, то он так 10-кой и остается. После отработки лиспа добросовестно выводится "Команда: CMD-END", но текущим остается созданный "АР-Оборуд", а не стоявший перед применением лиспа. И даже не последний созданый "АР-Оси". Может легче программно просто менять имеющийся "АР-Оси" - 10 на "АР-Оси" - 255,1,1. Т.е. создавать, как у меня и было, "АР-Оси" - 10 по аналогии с другими слоями, а потом отдельно искать "АР-Оси" и менять ему цвет? Цитата:
Ничуть не меньше такого же огромного и нижайшего СПАСИБО для skkkk, помогающего решить эту задачу программно! LayerDirector обязательно посмотрю. Для skkkk В принципе моя проблемка решена. Но если есть желание и возможность решать и решить эту задачку на программном уровне, то обязуюсь быть ответственным тестером до получения удовлетворяющих не только меня результатов. Еще раз Большое спасибо всем откликнувшимся и помогавшим в решении проблеммы! Последний раз редактировалось SergAM243, 07.04.2020 в 21:56. |
|||
![]() |
|
||||
|
||||
![]() |
|
||||
Offtop: по сравнению с назначить индексированный цвет...))))
как спутник в космос запускать ![]()
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Offtop: holy fucking shitty shit
![]() Offtop: сказал илон маск, и начал строить ракеты Последний раз редактировалось koMon, 08.04.2020 в 12:04. |
||||
![]() |
|
||||
Offtop: 90% этих ракет запускаются в космос штатным функционалом
еще 8% ракет построены дабы подстроиться под кривые бизнесс процессы пользователей, либо пользователи не подозревают, что в базе это уже сделано но без 2% не обойтись.. надо запускать)))
__________________
Мастерская СПДС Последний раз редактировалось doctorraz, 08.04.2020 в 13:36. |
||||
![]() |
|
||||
![]() Offtop: соглашусь согласиться |
||||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Цитата:
То есть, мой код в этом никак не участвует (и, вообще-то не должен по задумке). Цитата:
Код:
Код:
Код:
Код:
Если все же нужны реакторы, то рекомендую еще раз внести нужные изменения в код из #25 повнимательнее - очевидно, там произошла ошибка при редактировании "под себя", вникать в которую не хочется. Цитата:
![]() Поленился в свое время лезть в RGB через VLA, поэтому, спасибо за шпаргалочку ![]() Последний раз редактировалось skkkk, 09.04.2020 в 12:04. |
|||
![]() |
|
||||
|
||||
![]() |
|
||||
инженерю чуть Регистрация: 14.07.2008
Севастополь
Сообщений: 42
![]() |
skkkk писал:
Цитата:
Попробовал новый вариант кода. Да, это то, что мне было нужно. Ошибку в своем коде нашел. Закопипастил одну лишнюю строчку, т.е. затер ее. Сравнил с исходным и нашел разницу. На всякий случай выкладываю свою последнюю версию, Вдруг кому-то пригодится. Код:
Еще использую эту функцию для изменения цветов слоев под белый или черный экран. Для черчения использую черный экран, но начальник любит смотреть на белом. Приходится выкручиваться. Благо дело на форуме Апельсинов выкладывал лисп для быстрой смены цвета экрана. Вот так меняешь цвет экрана, меняешь цвета слоев и начальнику нравится. Как только отошел, возвращаешь все в исходное. Вопрос! Можно ли в строчке: (create_layer "АР_ЧТО_ТО_ЕЩЕ" 7 "Continuous" 0.40 nil) сделать такие изменения: (create_layer "АР_ЧТО_ТО_ЕЩЕ" 7 nil 0.40 nil) Судя по коду лиспа - можно, но лучше спросить! skkkk В любом случае еще раз благодарю за оказанную помощь ----- добавлено через ~25 мин. ----- doctorraz LayerDirector посмотрел. Попытался вникнуть, но там не такое очевидное создание слоев и отработки команд. Моих познаний не хватает для его подгонки под свои нужды. Он,LayerDirector, очень похож на код от Кулик Алексей aka kpblc, которым я пользовался раньше. Но в том коде у меня не получилось впихнуть штриховую линию. И хоть есть у Алексея функция подгрузки линий, но не пошла она,не пошла. ![]() Получилось на этом коде №25. Вот я и пользуюсь им. Может LayerDirector и лучше, но я не знаю и не понимаю ЧЕМ? Поэтому меня этот вопрос и не парит. ![]() Еще раз спасибо за помощь, но пользоваться буду программным вариантом. Что такое ФОРМКОМПЛЕКТ практически никто не знает и не пользуется. Мой переделаный Монохром канет в лету. |
|||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,680
|
Цитата:
Код:
|
|||
![]() |
|
||||
Цитата:
без административного поджопника ничо не взлетит
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 756
|
Я добавляю новые слои по аналогии для Line и PLine в реактор из поста #25
Слои создаются, но отрезки и линии чертятся текущим слоем. Код обновлен, причину см. пост #352 Код:
Последний раз редактировалось Ingpro, 02.05.2024 в 13:52. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 756
|
Да нужно записывать PLINE и LINE. Код в посте #350 обновлен и работает...
И ещё одна деталь, сначала создать слой для PLINE потом для LINE, в обратном случае и отрезки и полилинии чертятся слоем "Отрезок". Не знаю, почему так... |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Вариант попроще и ИМХО чуть поустойчивее - слои создаются только когда понадобятся.
Код:
Правда, dimlayer перекроет этот реактор.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Системная переменная https://help.autodesk.com/view/ACD/2...4-93E7623BEB6B
Достаточно мерзопакостная штука ИМХО
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 756
|
Цитата:
|
|||
![]() |
|
||||
Остекляем!!! Алюминим!!! Регистрация: 21.02.2005
Москва
Сообщений: 3,917
![]() |
Размещение размеров на отдельном слое
В AutoCAD 2016 появилась возможность автоматически размещать все наносимые размеры на отдельном слое, при чем слой может быть любым, который задаст пользователь. Переменная DIMLAYER определяет, на каком слое размещать все вновь наносимые размеры. Просто введите имя слоя и все, если требуется размещение на текущем слое, то введите . (точку).
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search: |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Можно, наверное. Но а) мне лениво; б) для Ingpro будет неплохой тренировкой
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Ну согласен, в глобальную переменную можно будет много всякого напихать
![]() Offtop: Господи, как же в лиспе под акад все просто по сравнению с шарпом!
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 756
|
По аналогии можно добавить и для линий, штриховок и т.д.?
Последний раз редактировалось Ingpro, 03.05.2024 в 15:22. |
|||
![]() |
|
||||
вдруг кто то не видел
https://lee-mac.com/layerdirector.html
__________________
Мастерская СПДС |
||||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 756
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 756
|
Это к чему?
Из справки: Ctrl+A Выбор всех объектов на чертеже, которые не являются заблокированными или замороженными Я.т.д. реакторы должны работать без всяких дополнительных манипуляций... Последний раз редактировалось Ingpro, 03.05.2024 в 20:04. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Ну, если ты их не сносишь все и чохом - то да, должны.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
ну читаю описание к MTEditReactorV1-1: автоматическое выделение всего содержимого мультитекста двойным кликом, да и в описании автор пишет - что пытался изначально через Ctrl+A сделать, но что-то не срослось. Т.е. этот остронеобходимый реактор заменяет движение руки с "вилкой" пальцев на клавиши Ctrl+A двойным кликом мышью. Может еще на Esc реактор навесить, например?)
|
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 756
|
Код:
_layer _make Размеры _color 151 _layer _make Штриховка _color 5 _layer _make Текст _color 6 _layer _make Таблицы _color 6 _layer _make Выноски _color 6 А это можно как-то отключить? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Можно. Либо поигравшись с переменными типа cmdecho / menuecho / nomutt, либо переделав создание слоев на некомандные методы.
Мне вот интересно, а никто не пробовал сначала в чистый файл загрузить лисп, потом выполнить очистку файла - тот же _.purge, и после этого уже начать ставить размеры? Я не просто так писал код в #353 ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
ну если некоторые так любят чтобы все прямо автоматически-автоматически работало через те же реакторы, но при этом собирают зоопарк из чужих кодов - то вообще не лишним каждый раз проверить слой - включен ли, не заблокирован и т.д, имхо)
|
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 756
|
По-моему, одинаково работают коды из #25 и #353? Слои создаются при вводе команд. Или я чего-то не понимаю?
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Цитата:
----- добавлено через 22 сек. ----- М-да, про эти тонкости я как бы не сильно подумал, грешен...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 756
|
Цитата:
В командной строке при открытии файла слои не перечисляются для кода #353... Это плюс, спасибо, Алексей! Последний раз редактировалось Ingpro, 13.05.2024 в 13:56. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Ты меня не услышал. Делай прямо по шагам:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 756
|
Делаю... Результат такой же, как #377... А на каком слое он должен быть, если запущен реактор?..
Последний раз редактировалось Ingpro, 19.05.2024 в 21:51. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
А в каком слое он должен быть, если слоя "Отрезок" в файле нет? Я тебе третий раз повторяю - выполни очистку файла прежде чем вызывать любую из обрабатываемых команд!
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
При подгруженном реакторе и попытке вызова команды dim* получишь ошибку. Слой "Размеры" не создастся сам по себе. Проверял на ACAD2013 Eng, 2021 Eng
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 11.07.2022
Сообщений: 756
|
У меня ACAD 2015, код #353 четко работает, создает слой Размер, после команды Размер...
Последний раз редактировалось Ingpro, 19.05.2024 в 21:50. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Кхм... Последний код был от тебя, и вопрос был по нему. Твоей правки в 13:56 я не увидел.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |