Lisp autocad mac os

Программы для AutoCAD под MacOS

01.03.2015, 19:53 #2

Вложения

NVX.lsp (1.9 Кб, 320 просмотров)

01.03.2015, 21:42 #3

Всем привет!
Я только недавно начала изучать Autocad и столкнулась с вопросом автоматизации некоторых процессов.
В частности, меня интересует возможность использовать автоматическую нумерацию точек, так же здесь на форуме нашла Lsp для экспорта координат, длин отрезков полилинии в exl. Но беда в том, что мой Автокад не видит эти Lsp. Т.е. я их successfully load, но при вводе команды ее в списке не оказывается и когда повторно открываешь appload, то в списке загрузок нужного файла Lsp нет.
Кто-нибудь из маководов сталкивался ли с трудностями использования Lsp на mac? Есть ли какие-то тонкости?
У меня Autocad 2014 и OS Yosemite 10.10.2.

01.03.2015, 21:46 #4

LISP, C# (ACAD 200[9,12,13,14])

__________________


Обращение ко мне — на «ты».
Все, что сказано — личное мнение.

01.03.2015, 23:18 #5

Command: ; error: misplaced dot on input

02.03.2015, 00:42 #6

02.03.2015, 12:13 #7

думаю именно это gomer в #3 и поправил

[quote author=Lee Mac link=topic=43267.msg484814#msg484814 date=1353680044]
I believe you will need to use the new AutoLISP functions designed for Mac to overcome the inability to use VL:

getpropertyvalue (substitute for vlax-get-property)
setpropertyvalue (substitute for vlax-put-property)

Also,
dumpallproperties (substitute for vlax-dump-object)
ispropertyreadonly (substitute for vlax-property-available-p check-modify parameter)
[ /quote]

[quote author=ender.prime link=topic=43267.msg484935#msg484935 date=1353936523]
A distinction should be made here since I was recently researching the same thing. There are standard «AutoLISP» functions that have existed since AutoCAD R14, and there are «Visual LISP» functions that were introduced and integrated since AutoCAD 2000.

Standard AutoLISP functions DO exist one way or another in Mac versions of AutoCAD, though they may be renamed.

Within the Visual LISP category, there is another distinction. Some functions were added simply to add, well, functionality to the language for the programmer. These functions were prefixed [vl-] when added to the existing vanilla AutoLISP functions, but are still considered native as far as the integrated compiler is concerned.

[vl-] functions DO exist one way or another in Mac versions of AutoCAD, though they may be renamed.

The last set of functions also introduced with Visual LISP include those that specifically interface with ActiveX, also known as COM. These functions were prefixed [vla-] or [vlax-], to distinguish that they rely on externally defined type interfaces as standardized by ActiveX defined by Microsoft.

Because of this dependency on a Microsoft technology, [vla-] and [vlax-] functions DO NOT exist on Mac versions of AutoCAD. For the same reason, you also will not find any VBA support or .Net support on Mac.

Источник

LISP-программы для Autocad

LISP’ы – это микропрограммы, которые дополняют функционал Autocad и способствуют автоматизации рутинных операций.

Для использования LISP-программ требуется совершить их загрузку.

Для этого необходимо проделать следующий порядок действий:

  1. Набрать в командной строке функцию appload
  2. Выбрать нужную программу
  3. Нажать кнопку «Загрузить»

Довольно часто исходные данные для проекта весят неоправданно много, что, конечно, влияет на производительность Autocad и, в итоге, на нашу скорость работы.

Проведя анализ различных вариантов, был найден LISP с прозрачным названием cleandwg.lsp (Скачать CleanDWG (VLX, 0.01Mb)) Практика показывает, что он помогает в 99% случаев уменьшить вес вашего чертежа. Часто бывало что подложка от архитекторов весившая под 20 мб уменьшалась до размера менее 1 мб.

Порядок действий следующий:

  1. Загружаем LISP
  2. Вводим cleandwg в командной строке
  3. Выбираем параметры (обычно по умолчанию)

Правилом хорошего тона в проектировании является некое затенение подложки, относительно проектируемой системы. Синие санузлы в проекте пожарной сигнализации смотрятся совсем не эстетично, правда?

Классический способ перевода не очень нужного в один цвет является выделение всего (ctrl+A) и назначение нужного цвета. Но увы, в большинстве случаев это не работает т.к. цвет содержимого блоков может быть назначен «по слою», «по блоку» или же просто напрямую. В последнем случае придется открывать каждый блок и изменять цвет вручную. Это рутинная операция от которой есть лекарство и называется оно bgltools.lsp (Скачать bgtools (LSP, 0.24Mb))

Порядок действий следующий

  1. Загружаем LISP
  2. Набираем в командной строке bgcolor
  3. Выбираем нужный цвет и немного ждем
  4. Получаем готовые к работе планы

При прокладке кабеля в проекте используются функции «Отрезок» или «Полилиния», но что бы вы не применили, в любом случае, вам нужно будет знать сумму длин этих объектов для кабельного журнала и спецификации.

Вашему вниманию предлагается очень простой LISP, показывающий сумму длин выбранных отрезков. Алгоритм действий следующий:

  1. Загружаем программу
  2. Выбираем интересующие отрезки (например, функцией «выбрать подобные»)
  3. Набираем «elen» в командной строке и получаете сумму длин.

Адресация устройств в проекте является одним из самых трудозатратных и рутинных процессов при выполнении проекта. Рады представить вам универсальный инструмент нумерации любых элементов на чертеже – NumInc. Помимо стандартных функций нумерации он умеет строить массивы значений (актуально для таблиц), заменять существующий текст новым значением (используется, например, при нумерации листов проекта или замене скопированных адресов) и много чего ещё! Познакомиться с полным функционалом этого комбайна можно на сайте разработчика.

Минимальный алгоритм действий следующий

  1. Загружаем программу
  2. Вводим numinc
  3. Задаем Prefix, Middle и Suffix
  4. Выбираем инкремент
  5. Выбираем какая конкретно ячейка (Prefix, Middle или Suffix) будет увеличиваться на заданное значение при каждом клике мышью.
  6. Настраиваем параметры текста
  7. Кликаем ОК и нумеруем оборудование.

Большинство проектировщиков работает в пространстве модели, но опытные проектировщики знают значительную пользу от работы с листами, например, пакетная печать проекта. Для автоматического создания листов из пространства модели отлично подходит LISP AddLay.

Порядок действий следующий

  1. Загружаем LISP
  2. Набираем в командной строке AL
  3. Выбираем рамку. AddLay запомнит слой в котором расположена рамка и будет воспринимать объекты данного слоя как границы.
  4. Выделяем все элементы для перевода в листы. Настраиваем параметры.

Удобным инструментом для редактирования названия и задания нужного нам порядка листов является LISP TabSort.

Порядок действий следующий

  1. Загружаем LISP
  2. Набираем в командной строке TABSORT
  3. Редактируем названия и порядок листов

© ООО «ТД Рубеж» 2021, все права защищены

Офлайн каталог продукции RUBEZH в вашем телефоне.
Скачивайте мобильное приложение RUBEZH Ассистент

Источник

How to Run an AutoLISP Program

Saving the AutoLISP File

Before we can run any programs we must make sure that the program file (.lsp file in this case) resides on the system.

If you are downloading programs from my site, the method of saving the AutoLISP file may depend on the browser you are using. For example, IE8 may prompt you to save the file directly to your computer, but I believe Firefox allows you to view the file contents in the browser itself, in which case, you can either go to File » Save Page As making sure that the Save as Type panel is set to All Files ; or, you can simply copy the contents into an open Notepad file and save this as ‘filename.lsp’ (again, ensuring File Type is set to ‘All Files’).

Note that the filename used to save the source code is arbitrary and will not affect the program in any way — however, the majority of users use the function syntax (and perhaps include the program version) for convenience.

Loading the Program

Method 1: Using AppLoad

At the AutoCAD command line, type AppLoad (alternatively go to Tools » Load Application ).

Select the program file as previously saved and click Load to load the program into the current drawing session. Click Close to close the Appload Dialog.

The command line should display whether the program has indeed loaded successfully, and any loading messages the author may have decided to include.

Method 2: Using the ACADDOC.lsp

Another way to load an AutoLISP program is to include a load call in the ACADDOC.lsp.

Everytime a new drawing is opened, AutoCAD will search the Support Paths for any ACADDOC.lsp files, and will proceed to load the first one it discovers.

First we must check that an ACADDOC.lsp file exists — to do this type at the AutoCAD command line:

If this returns a filepath, navigate to the existing ACADDOC.lsp file and in the steps that follow, amend its contents.

Else, you can create a new ACADDOC.lsp file by opening a new Notepad document (or other plain text editor) and saving it as ACADDOC.lsp in an AutoCAD Support Path (ensuring the Save As Type panel is once again set to All Files ).

In the ACADDOC.lsp, add a line similar to this:

If the LISP file does not reside in the AutoCAD Support Path, a full filepath is needed so that the LISP file may be located; in this case, be sure to use double backslashes when specifying the path.

When finished, open a new drawing and the LISP files should load.

Note: if using this method to load many LISP files on startup is causing drawings to open slower, refer to my tutorial on the use of AutoLoad to demand load LISP files.

Method 3: Using the Visual LISP Integrated Development Environment (VLIDE)

This method is aimed primarily at developers, as the VLIDE offers many debugging utilities when writing & loading code.

To load a program using this method, type VLIDE at the AutoCAD command line. In the window that subsequently appears, go to File » Open File (alternatively, Ctrl+O ), and select the previously saved file.

Now go to Tools » Load Text in Editor (alternatively, Ctrl+Alt+E )

Running the Program

If the program has loaded successfully, you can now proceed to run the program in the current drawing session.

The syntax (command name) to call the program may be displayed in the author’s loading messages, or perhaps noted in the program header. If it cannot be found in either of these locations, you can inspect the source code itself to determine the command to use.

The syntax will be located after the c: in a defun function call, for example:

In the above example, the command would be MyCommand .

If the c: does not appear after the defun function, this indicates that the function is a subfunction and is designed to be called from another program.

When the command syntax is known, it may be typed at the AutoCAD command line to invoke the program.

Источник

Как установить Лисп для Автокада

Вы нашли полезный для себя код на Лиспе который делает различные штуки и хотите его использовать. Как заставить его работать? Можно выделить 3 шага.

1. Сохранение программного кода на своем компьютере.

2. Загрузка файла в AutoCAD.

3. Запуск приложения (Лиспа).

Примечание: AutoLISP программы могут быть запущены только на полной версии Автокада, они не работают под AutoCAD LT. (исключая случаи загрузки дополнительных приложений типа LT Extender и ему подобных, которые специально разработаны для запуска lisp и (или) arx приложений в среде AutoCAD LT.)

Сохранение программного кода lisp на своем компьютере

Если код выложен на сайте, а не отдельным файлом, делаем так, с помощью курсора выделяем этот код и копируем его, нажав правую кнопку мыши и выбрав пункт Копировать (или Ctrl+C).
Запускаем «Блокнот» и вставляем наш код с помощью меню Правка → Вставить (или Ctrl+V). Получим примерно такое:

И сохраняем файл. Файл можно назвать, как вам нравится, но расширение у него должно быть .LSP. Правильнее (но не обязательно) будет назвать файл так же, как названа команда в найденном Вами коде. Команде всегда предшествует префикс C: после слова defun. В примере выше видно, что команду назвали OFF2, соответственно файл называем off2.lsp. Таким образом, мы можем избежать беспорядка, т.к. будем знать, что в файле off2.lsp находится команда OFF2.
Иногда в коде представлено несколько функций. Необходимо найти «главную». Такая функция либо имеет префикс С: либо сам автор кода уточняет как использовать. В случае нескольких «главных» имя файла не имеет никакой разницы.

Загрузка lisp файла в Автокад

Файл сохранили или скачали уже готовый и запускаем Автокад. Выбираем Сервис → AutoLISP → Приложения. ( Tools → AutoLISP → Load ) или набираем в командной строке _appload.
Мы должны увидеть диалоговое окно как представлено ниже:

И по порядку делаем так:

1. Перейдите к папке, куда Вы сохранили lisp файл.

2. Выберите файл, который Вы хотите загрузить из списка.

3. Нажмите кнопку Загрузить. (Если все прошло удачно, Вы должны увидеть надпись «off2.lsp успешно загружено»)

4. Нажмите кнопку Закрыть для завершения команды.

Или еще проще загрузить lisp файл путем перетаскивания (drag-and-drop) иконки файла в графическое окно открытого документа Автокада.

Немного теории об установке лисп

В описании практически любого кода есть такая строка где написано (defun … и потом после нее чего-то там еще. Так вот то, что там написано и есть имя функции.
Если первыми символами являются C: то функция готова к вызову из командной строки. Если такого нет, то вызывать функцию надо, заключая ее имя в круглые скобки.
Т.е. если написано (defun c:test то в командной строке набираем test , а если (defun test то пишем все тоже самое в скобочках (test) все просто!

Запуск lisp программы

Как только lisp файл загружен, вызываем команду из командной строки. Команда вызывается по ее имени. В нашем примере необходимо набрать в командной строке OFF2.

Организация библиотеки лисп файлов

Каждый раз набирать _appload для загрузки того или иного приложения не дело, да и файлов этих со временем накопится, проще будет организация свою библиотеку. Для начала условимся, что все наши файлы будем складывать в одну папку. Например, D:\MyLisp. Пропишем эту папку в путях доступа Автокада. Для этого выбираем Сервис → Настройка ( Tools → Options ) или набираем в командной строке _options. Переходим на закладку Файлы (Files) и раскрываем список Путь доступа к вспомогательным файлам (Support File Search Path).
Мы должны увидеть диалоговое окно, как представлено ниже:

Используйте следующую последовательность, чтобы прописать папку в путях доступа:

1. Нажмите кнопку Добавить.

2. Нажмите кнопку Обзор и выберите целевую папку (в нашем случае, D:\MyLisp).

3. Путь к папке должен появиться в диалоговом окне.

4. Нажмите кнопку OK для завершения команды.

Теперь наша папка прописана в путях доступа Автокада. Что это нам дает? Мы можем загружать наши файлы не указывая конкретного пути, а только имя файла.
Мы можем набрать в командной строке (load » «) для загрузки необходимого кода, например (load «off2»). Заметьте, что добавлять расширение .lsp не обязательно, хотя и не запрещается.
А самое главное — это позволит нам создать панели с кнопками для загрузки той или иной программы. Кнопка будет иметь следующее содержание:

В нашем случае: ^C^C(if (null C:OFF2)(load «off2»));OFF2;

Вместо текста мы должны будем подставлять имя нужной нам команды, а вместо текста имя того файла, в котором эта команда сохранена. Помните, что файл должен иметь расширение .lsp.

Полезно. Как создать свою кнопку и вывести на свою панель команд читаем здесь.

Видео по установке и запуска Лиспа в Автокаде

Источник

Читайте также:  Как удалить кеш mac os
Оцените статью