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

TararykovDG
отредактировано 10 июн Раздел: API

В AutoCAD для программного создания тела командой СДВИГ(SWEEP) работал следующий lisp код

(vl-cmdf "_.sweep" (car (entsel)) "" (car (entsel)))

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

Подскажите, что нужно написать вместо (car (entsel)) при запросе тракетории сдига

Теги темы:

Ответы

  • Добрый день. Методом тыка сработала такая штука:

    (vl-cmdf "_.sweep" (car (entsel)) "" "" (car (entsel)) )

  • У меня не сработала

    Лог командной строки:

    Команда: (vl-cmdf "_.sweep" (car (entsel)) "" "" (car (entsel)))
    Выбор объектов
    1 найдено
    Выбор объектов
    1 найдено
    Команда: _.sweep
    sweep - Вытягивание по траектории
    Выберите объект для сдвига или [?/Режим]: h
    : 534
    1 найдено
    Выберите объект для сдвига или [?/Режим]:
    Выберите траекторию сдвига или [Выравнивание/Базовая точка/Масштаб/Угол закручивания]:
    Выберите траекторию сдвига или [Выравнивание/Базовая точка/Масштаб/Угол закручивания]: h
    Неправильное выражение: h - #
    Выберите траекторию сдвига или [Выравнивание/Базовая точка/Масштаб/Угол закручивания]: 536

  • Грабли:

    (vl-cmdf "_.sweep" (car (entsel)) "" (princ "(car (entsel))") "@" "")

  • Да так сработало, но все равно, не так как надо, потому что все равно при втором запросе идет запрос на выбор траектории, а не объекта.

    В конечном счета мне нужно программно построить 3D тело.

    Оба объекта уже получены с процессе выпонения lisp кода, не с помощью (car (entsel)), а программно, это я для примера так указал,

    пусть есть объект для сдига (setq obj_1 (car (entsel)))

    и объект, задающий траекторию сдига (setq obj_2 (car (entsel))),

    в AutoCAD всегда работал такой код (vl-cmdf "_.sweep" obj_1 "" obj_2), в NanoCAD нет

  • kpblc
    отредактировано 21 авг

    Я ж вроде на dwg.ru показывал пример.

    https://forum.dwg.ru/showthread.php?t=171428

  • Да я и использую решение с dwg.ru.

    Изначально, так как вопрос был по NanoCAD'у задавал его здесь 10.06.2024 не получив ответ, тот же вопрос задал на dwg.ru уже 13.06, kpblc спасибо огромное за решение.

    ktldll предложил свой вариант 20.08 вот и пошле дискусия. 🙂