NanoCAD. Lisp. Программное создание тела командой SWEEP
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > NanoCAD. Lisp. Программное создание тела командой SWEEP

NanoCAD. Lisp. Программное создание тела командой SWEEP

Ответ
Поиск в этой теме
Непрочитано 13.06.2024, 14:55 #1
NanoCAD. Lisp. Программное создание тела командой SWEEP
TararykovDG
 
Программист-энтузиаст
 
Воронеж
Регистрация: 17.07.2009
Сообщений: 575

В AutoCAD для программного создания тела командой СДВИГ(SWEEP) работал следующий lisp код
(vl-cmdf "_.sweep" (car (entsel)) "" (car (entsel)))

В NanoCAD такой код не работает, при первом запросе Выберете объект сдвига подходит код (car (entsel)),
но при втором запросе Выберете траекторию сдвига (car (entsel)) не работает, появляется ошибка.

Подскажите, что нужно написать вместо (car (entsel)) при запросе траектории сдвига
__________________
cadtools
Просмотров: 1718
 
Непрочитано 13.06.2024, 16:05
#2
Кулик Алексей aka kpblc
Moderator

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


А руками при указании именно на эти примитивы тело создается?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 13.06.2024, 16:28
#3
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Да, создается, но даже в интерактивном ручном режиме, при запросе на указание траектории сдвига, видно что курсор не такой же как при запросе объекта сдвига.
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 13.06.2024, 17:05
#4
Кулик Алексей aka kpblc
Moderator

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


Ну тогда можно попробовать собственную реализацию накидать. Примерно так (код в продакшн пускать нельзя - ни проверок, ни отлова ошибок, ни меток начал/конца отмены; только в качестве иллюстрации):
Код:
[Выделить все]
 (vl-load-com)

(defun c:test-sweep (/ ent path region)
  (setq ent  (car (entsel "\nObject to sweep : "))
        path (car (entsel "\nPath : "))
  )
  (setq region (vla-addregion
                 (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))
                 (vlax-make-variant
                   (vlax-safearray-fill
                     (vlax-make-safearray
                       vlax-vbobject
                       '(0 . 0)
                     )
                     (list (vlax-ename->vla-object ent))
                   )
                 )
               )
  )
  (vla-addextrudedsolidalongpath
    (vla-get-modelspace
      (vla-get-activedocument (vlax-get-acad-object))
    )
    (car (vlax-safearray->list (vlax-variant-value region)))
    (vlax-ename->vla-object path)
  )
  (vla-erase (car (vlax-safearray->list (vlax-variant-value region))))
)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 14.06.2024, 10:21
#5
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Спасибо, Алексей! Совсем забыл про vla-addextrudedsolidalongpath (позор на мои седые волосы)
прям так не работает, но работает код из https://help.autodesk.com/view/OARX/...7-351E141D3DA4
дальше буду разбираться!
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 14.06.2024, 10:35
#6
Кулик Алексей aka kpblc
Moderator

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


Ну, я прогнал на 23.1 - работало.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 17.06.2024, 09:35
#7
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616


Интересно...
У меня в 23.1 даже с клавиатуры ни команда
СДВИГ, ни команда _sweep работать не желают...
__________________
Счастливо, Алексей!
===AAA=== вне форума  
 
Автор темы   Непрочитано 18.06.2024, 10:22
#8
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


Цитата:
Сообщение от ===AAA=== Посмотреть сообщение
Интересно...
У меня в 23.1 даже с клавиатуры ни команда
СДВИГ, ни команда _sweep работать не желают...
Может у Вас нет лицензии на модуль 3D, в NanoCAD это отдельный плантый модуль
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 19.06.2024, 05:48
#9
===AAA===


 
Регистрация: 15.08.2005
г. Норильск
Сообщений: 616


Да фиг его знает. Вводишь "СДВИГ", на отсутствие такой
команды НК не ругается, но и никаких запросов на выбор
объектов не делает, просто выдает очередное приглашение

Команда:

А, вон оно что...

В НК 23.1 эта команда работает только в Модели, да и то как-то
криво - 1-й объект выбирает, а вот на запрос 2-го объекта на экране
не появляется "прицел выбора", а по-прежнему висит "перекрестье".
__________________
Счастливо, Алексей!

Последний раз редактировалось ===AAA===, 20.06.2024 в 14:15.
===AAA=== вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > NanoCAD. Lisp. Программное создание тела командой SWEEP



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Создание листов и видовых экранов на них Andrey_13 Готовые программы 451 08.05.2025 16:47
Создание листа и вписывание в него объекта на LISP [igrik] LISP 20 22.08.2023 15:54
Создание текста Lisp из Delphi GVlad_2021 LISP 5 04.01.2021 09:30
Создание 3D тела по вычерченным контурам S.T.A.P. AutoCAD 13 06.02.2012 17:46
LISP Создание осевой линии для 3Dsolids nem LISP 7 19.10.2010 12:42