Перейти к содержанию

Адаптация Lisp под Nanocad


Рекомендуемые сообщения

49 минут назад, tok сказал:

Бился с адаптацией под Nanocad лиспа для получения точек полилинии в формате для тахеометров лейка, ничего к сожалению не получается.

Может кто нибудь помочь в этом непростом деле?


Я не знаю, что именно должно было получиться, но что-то получилось ...

Спойлер

image.thumb.png.7655bfca1e7b51805928d42391143acd.png

 

Файлы:

EXP-GSI_test.dwg

 

exp_gsi_2.LSP

 

111.gsi

 

Скрипт отформатировал для большей читабельности.
В двух местах поставил пробел:

Спойлер

image.png.47884c94811cf3dd6a61cd6818613752.png

 

Спойлер

image.png.408e144175b4275749fc0364845845b6.png

 

Больше ничего не делал.

Проверил под nanoCAD 20.1

Изменено пользователем A.Kudrjashov
Ссылка на сообщение
Поделиться на другие сайты

Премного благодарен, даже не рассчитывал на такую оперативность.

 

Еще раз огромное Вам спасибо, все работает замечательно.

 

С уважением,
Александр.

Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

Кто-нибудь уже пробовал адаптировать под nanoCAD лисп CCutter.lsp быстрой подрезки внутри/снаружи контура?

Сходу пришлось закомментировать в nanoCAD 20.1 не реализованы:

(setvar "edgemode" emode)
(setvar "projmode" pmode)

CookieCutter2 v1.2a mod by VVA.lsp

Изменено пользователем Narumarus
Добавил файл
Ссылка на сообщение
Поделиться на другие сайты

В коде недокументированная отсутствующая в AutoCAD функция @delta в (TraceSpline obj):

(@delta ang1 ang2)

Изменено пользователем lidia.antipina.ru
Ссылка на сообщение
Поделиться на другие сайты

; https://forum.dwg.ru/showthread.php?t=12287&highlight=%40delta

; Как в lispe начертить биссектрису прямого угла длиной 50 мм, координаты вершины угла я знаю.
; Может как то полярные координаты в lispe используются, как?

            ; written by  Uhden, John 
            (defun @delta (a1 a2)
            (cond
            ((> a1 (+ a2 pi))
            (- (+ a2 pi pi) a1)
            )
            ((> a2 (+ a1 pi))
            (- a2 a1 pi pi)
            )
            ((- a2 a1))
            )
            )

Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

Также часто встречаются конструкции (Command "._XXX" ...) или (vl-cmdf "._XXX" ...), в которых надо поменять префикс на "_."

Будет (Command "_.XXX" ...) или (vl-cmdf "_.XXX" ...)

добавлено через 0 минут

Создала пожелание #36469

Ссылка на сообщение
Поделиться на другие сайты
  • 4 недели спустя...

Вопрос: объекты, пересекающие кромки должны именно удаляться или обрезаться (надо проверить под AutoCAD, у кого есть он). 

У меня под Nc 20.3, 21.0 удаляются целиком. То если налезла на кромку полилиния, то удаляется она целиком, а не сегменами: 

;shortcut
;;; Button for CCIN
;;; *^C^CCCin;\;Yes;
;Команды
;CCin - CC с точкой внутри, запрос на удаление объектов
;CCout - CC с точкой снаружи, запрос на удаление объектов
;CCinD - CC с точкой внутри, удаление объектов
;CCinDM - CC с точкой внутри, удаление объектов, бесконечный цикл
 ;LA Nc 21.0 - работает только с полилинями и окружностями, эллипсами
 ;LA Nc 21.0 - удаляет целиком (надо отсекать часть?) объекты внутри/снаружи и пересекаемые. 
(defun c:CCin () (CookieCutter2a t nil))
(defun c:CCout () (CookieCutter2a nil nil))
;;; CC internal Delete All
(defun c:CCinD () (CookieCutter2a t "Yes"))
;;; CC internal Delete All Multiple
(defun c:CCinDM ()(while t (CookieCutter2a t "Yes")))

CookieCutter2 v1.2a mod by VVA_Nc.lsp

Изменено пользователем lidia.antipina.ru
Ссылка на сообщение
Поделиться на другие сайты

Обрезать по контуру, как говорят, те, кто пользовался этим скриптом: - Выделил прямоугольником, и получил ровный пустой прямоугольник.

Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, Narumarus сказал:

Обрезать по контуру, как говорят, те, кто пользовался этим скриптом: - Выделил прямоугольником, и получил ровный пустой прямоугольник.

Будем копать дальше

Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...

См. приложение.

В простых случаях вроде работает.

Может сойдет?

 

PS.

Нужно более детально пройтись по всему коду.

Проблема в функциях (vl-bb-ref ...) и  (vl-bb-set ...)

Они имеют смысл в автокаде, но не в нанокаде.

В начале файла заменил, а дальше было лениво.

 

StripMtext v5-0c1.lsp

Изменено пользователем EdwardSt
Ссылка на сообщение
Поделиться на другие сайты
18 минут назад, EdwardSt сказал:

См. приложение.

Может сойдет?

 

StripMtext v5-0c1.lsp 61 \u043a\u0411 · 0 загрузок

Iisp хоть начал заводиться, но функционал lispa не работает .... 

Спойлер

image.thumb.png.794851bd97fa65387b8a30fda105067b.png

 

Ссылка на сообщение
Поделиться на другие сайты

Попробуйте так

StripMtext v5-0c1.lsp

 

Кстати, этот код вроде что-то делает в 21.0, а в 20.1 ругается еще и на функцию (ssget...)

Сложная она...

Изменено пользователем EdwardSt
Ссылка на сообщение
Поделиться на другие сайты
12 минут назад, EdwardSt сказал:

Класс, вроде функционал работает (ncad 21), потестирую, отпишусь, в случаи если все ок, рекомендую вам сделать отдельную тему в кат. "доп к ncad"

Изменено пользователем aerohost
Ссылка на сообщение
Поделиться на другие сайты
23 минуты назад, aerohost сказал:

Класс, вроде функционал работает (ncad 21),

Похоже, все-таки, дело не только в этих функциях.

От них зависела только работоспособность в принципе.

Но в АС (исходный код) и NC (модифицировано выше) прога работает по-разному ;).

Нужно более детально копаться в работающей программе, чтоб найти НЕ ТАК работающие функции.

Досадно...

 

 

Ссылка на сообщение
Поделиться на другие сайты
Только что, EdwardSt сказал:

Нужно более детально копаться в работающей программе, чтоб найти НЕ ТАК работающие функции.

Досадно...

В выходные постараюсь посмотреть.

Ссылка на сообщение
Поделиться на другие сайты

Просьба приложить примеры для тестирования, чтобы не изобретать

добавлено через 6 минут

Подобная прога должна работать

change text styles (cts) 1.8.LSP

Ссылка на сообщение
Поделиться на другие сайты
9 часов назад, lidia.antipina.ru сказал:

Просьба приложить примеры для тестирования, чтобы не изобретать

добавлено через 6 минут

Подобная прога должна работать

change text styles (cts) 1.8.LSP 41 \u043a\u0411 · 0 загрузок

не совсем то, я так понимаю ваш приложенный лисп переводит на выбранный текстовый стиль  текст.

Лисп который я приложил выше, должен выполнять удаление форматирования текста( принуженный поставленный цвет, текстовый стиль, ширину и высоту текста) скажем так привести к цвету по слою, стиль текста поставить по "Стилю"  ширину и высоту выставить по размеру самого текста. Чуть позже скину примерчик...

Ссылка на сообщение
Поделиться на другие сайты
36 минут назад, Boroda888 сказал:

Было уже нечто подобное и работающее или не устраивает?

 

У лиспа выше, побольше функционала

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Расскажите друзьям

    Нравится Официальный форум компании Нанософт? Расскажите друзьям!
×
×
  • Создать...