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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp. Сохранение объектов в отдельных файлах dxf

Lisp. Сохранение объектов в отдельных файлах dxf

Ответ
Поиск в этой теме
Непрочитано 18.04.2013, 14:53 #1
Lisp. Сохранение объектов в отдельных файлах dxf
acid_bmstu
 
Регистрация: 18.04.2013
Сообщений: 1

Есть набор геометрических объектов объединенных в полилинии
Надо каждый объект сохранить в dxf
Т.е. выделяю объект нажимаю кнопку и он его сохраняет 1.dxf, второй в 2.dxf и так далее
Объекты построены с помощью дуг и прямых
Возможно ли такое?

Вложения
Тип файла: dwg
DWG 2004
Пример.dwg (21.1 Кб, 676 просмотров)

Просмотров: 4362
 
Непрочитано 18.04.2013, 15:18
#2
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611


Да. Возможно.
Boxa вне форума  
 
Непрочитано 19.04.2013, 10:26
1 | #3
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Цитата:
Сообщение от acid_bmstu Посмотреть сообщение
Есть набор геометрических объектов объединенных в полилинии
Надо каждый объект сохранить в dxf
Т.е. выделяю объект нажимаю кнопку и он его сохраняет 1.dxf, второй в 2.dxf и так далее
Объекты построены с помощью дуг и прямых
Возможно ли такое?
Попробуй на А2010 работает
Код:
[Выделить все]
(defun C:HUH(/ cnt folder pt sset)
(setvar "cmdecho" 0)
  (setvar "expert" 5)
(setq folder (getvar "dwgprefix") cnt 0)
(while (setq sset (ssget "+.:S:L:E")); <-- Для единичных объектов, для всего набора удалить строковую опцию
(command "_.-wblock" (strcat folder (itoa (setq cnt (1+ cnt))) ".dxf") 16 "" (setq pt (getpoint "\nТочка в начале объекта: ")) sset "")
  (command "_oops")
  )
(setvar "cmdecho" 1)
  (setvar "expert" 0)
  (princ)
  )
Олег (jr.) вне форума  
 
Непрочитано 03.03.2017, 23:02
#4
hitori

Технолог
 
Регистрация: 02.03.2017
Город Санкт-Петербург
Сообщений: 4


Цитата:
Сообщение от Олег (jr.) Посмотреть сообщение
Попробуй на А2010 работает
Код:
[Выделить все]
(defun C:HUH(/ cnt folder pt sset)
(setvar "cmdecho" 0)
  (setvar "expert" 5)
(setq folder (getvar "dwgprefix") cnt 0)
(while (setq sset (ssget "+.:S:L:E")); <-- Для единичных объектов, для всего набора удалить строковую опцию
(command "_.-wblock" (strcat folder (itoa (setq cnt (1+ cnt))) ".dxf") 16 "" (setq pt (getpoint "\nТочка в начале объекта: ")) sset "")
  (command "_oops")
  )
(setvar "cmdecho" 1)
  (setvar "expert" 0)
  (princ)
  )
А возможно этот же lisp сделать на autocad 2007? а то у меня пишет "; ошибка: неверная строка режима ssget"
hitori вне форума  
 
Непрочитано 04.03.2017, 21:48
#5
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,834
<phrase 1=


Цитата:
Сообщение от hitori Посмотреть сообщение
А возможно этот же lisp сделать на autocad 2007?
Наверное Автокад русский? Тогда попробуй через
Код:
[Выделить все]
 (setq sset (ssget "_:S:L:E"))
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Непрочитано 05.03.2017, 10:26
#6
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от Alan Посмотреть сообщение
Наверное Автокад русский? Тогда попробуй через
Код:
[Выделить все]
 (setq sset (ssget "_:S:L:E"))
Так не сработает. Если не ошибаюсь, надо
Код:
[Выделить все]
(ssget "_+.:S:E:L")
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.03.2017, 17:40
#7
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,834
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Так не сработает. Если не ошибаюсь, надо
Согласен. Не проверил до конца сам выбор, проверял только ключи...
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Непрочитано 09.03.2017, 13:03
#8
hitori

Технолог
 
Регистрация: 02.03.2017
Город Санкт-Петербург
Сообщений: 4


Спасибо большое

Последний раз редактировалось hitori, 09.03.2017 в 13:13.
hitori вне форума  
 
Непрочитано 17.03.2025, 14:02
#9
gumel


 
Регистрация: 20.04.2011
Сообщений: 485


Цитата:
Сообщение от Олег (jr.) Посмотреть сообщение
Попробуй на А2010 работает
Код:
[Выделить все]
(defun C:HUH(/ cnt folder pt sset)
(setvar "cmdecho" 0)
  (setvar "expert" 5)
(setq folder (getvar "dwgprefix") cnt 0)
(while (setq sset (ssget "+.:S:L:E")); <-- Для единичных объектов, для всего набора удалить строковую опцию
(command "_.-wblock" (strcat folder (itoa (setq cnt (1+ cnt))) ".dxf") 16 "" (setq pt (getpoint "\nТочка в начале объекта: ")) sset "")
  (command "_oops")
  )
(setvar "cmdecho" 1)
  (setvar "expert" 0)
  (princ)
  )


Отличный способ!
А есть возможность задания версии DXF файла?

---

Отвечу сам себе

перед сохранением сделать:
Код:
[Выделить все]
   (setq FormatSave (getenv "DefaultFormatForSave")) ; запомним текущее значение DefaultFormatForSave    
  (setenv "DefaultFormatForSave" "1") ; 1 - AutoCAD R12 DXF
после сохранения, вернуть как было:
Код:
[Выделить все]
 (setenv "DefaultFormatForSave" FormatSave) ; восстановим значение DefaultFormatForSave
К примеру, значение "64" соответствует формату "AutoCAD 2018 DWG"

Последний раз редактировалось gumel, 19.03.2025 в 12:22.
gumel вне форума  
 
Непрочитано вчера, 12:15
#10
Teftelia


 
Регистрация: 24.04.2010
Набережные Челны
Сообщений: 220


это наверное для создания деталей на плазму из кучи в отдельные файлы?
хорошая штука если бы еще имя брала из текста рядом, напритер t4-det1
__________________
ACAD2016sp1 + AdvanceSteel2016 + SPDS GraphiCS 10
Teftelia вне форума  
 
Непрочитано вчера, 14:34
#11
gumel


 
Регистрация: 20.04.2011
Сообщений: 485


Цитата:
Сообщение от Teftelia Посмотреть сообщение
это наверное для создания деталей на плазму из кучи в отдельные файлы?
хорошая штука если бы еще имя брала из текста рядом, напритер t4-det1
Гляньте это: https://dwg.ru/dnl/15834
gumel вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp. Сохранение объектов в отдельных файлах dxf



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Распределение по слоям объектов dim.,hatch,text Суханова LISP 5 28.08.2008 13:31
FILTER / фильтр BM60 Справочник команд 0 08.07.2008 15:35
Создание своих объектов и хранение данных в dwg файлах zmaximus Программирование 2 11.04.2008 18:36
Скрытие отдельных объектов! X-DeViL AutoCAD 4 27.01.2005 09:00
DXF to LISP John LISP 15 24.02.2004 10:19