Можно ли сплайн преобразовать в полилинию в AutoCAD2006?
Реклама i
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Можно ли сплайн преобразовать в полилинию в AutoCAD2006?

Можно ли сплайн преобразовать в полилинию в AutoCAD2006?

Ответ
Поиск в этой теме
Непрочитано 10.02.2006, 18:08 #1
Можно ли сплайн преобразовать в полилинию в AutoCAD2006?
vn
 
Регистрация: 10.02.2006
Сообщений: 373

Вопрос в названии темы. Если кому-то вопрос покажется глупым, то заранее извиняюсь.
vn
Просмотров: 18970
 
Непрочитано 10.02.2006, 18:23
#2
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Да, попадались такие программки на Лиспе. Конечно, идеального преобразования не получается, но тем не менее. Вроде бы было в Тулпаке (однако, не помню точно, не пользуюсь им)
vk вне форума  
 
Автор темы   Непрочитано 10.02.2006, 18:34
#3
vn


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


Спасибо vk.
Lisp есть, но что такое "тулпак" и как им пользоваться не знаю.
vn
vn вне форума  
 
Непрочитано 10.02.2006, 19:16
#4
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Еще вариант - команда _DXFOUT в формате AutoCAD R12, а потом _DXFIN - сплайн превратится в полилинию.
Александр Ривилис вне форума  
 
Непрочитано 10.02.2006, 19:39
#5
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Команда "flatten" из "Express Tools".
Profan вне форума  
 
Непрочитано 11.02.2006, 12:20
#6
Piton

Инженер строитель
 
Регистрация: 24.02.2005
Москва
Сообщений: 396


T o o l P a c 9 живет здесь
http://dwg.ru/dwl/474
Piton вне форума  
 
Непрочитано 13.02.2006, 10:36
#7
Piton

Инженер строитель
 
Регистрация: 24.02.2005
Москва
Сообщений: 396


Вот еще лиспик нашел
http://www.spaug.org/Public_Files/AutoLISP/Spl2pl.Zip
Piton вне форума  
 
Автор темы   Непрочитано 17.02.2006, 00:01
#8
vn


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


Спасибо всем:
А.Ривилису, Profan, Piton.
Пытался вызвать DXFOUT –получил UNKNOWN COMMAND Press F1
Express Tools отсутствует
Tool Pac нашел, но там всего слишком много, трудно разобраться что к чему.
Наверное, я даже не чайник , а только ручка от него. Короче, сплошной провал :( :( .
vn вне форума  
 
Непрочитано 17.02.2006, 09:46
#9
Кочетков Андрей

Java/Kotlin/Go
 
Регистрация: 03.02.2006
Сообщений: 5,788


>>vn
1. File->SaveAs - выбираешь формат DXF AutoCAD R12
2. ExpressTools есть на любом (не кривом) дистрибутиве в папке Support
3. Toolpac: набери с клавиатуры S2P
Кочетков Андрей вне форума  
 
Автор темы   Непрочитано 17.02.2006, 10:42
#10
vn


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


Андрею Кочеткову, спасибо.
Нарисовал кусочек сплайна, сохранил as в AutoCAD R12 DXF
набрал команду DXFOUT, Автокад предложил пересохранить файл, что я и сделал, ввел команду DXFIN, но со сплайном ничего не произошло, в полилинию не превратился.
Набрал с клавиатуры S2P получил:
Command: s2p
Unknown command "S2P". Press F1 for help.
vn вне форума  
 
Непрочитано 17.02.2006, 11:13
#11
VetalBY


 
Регистрация: 16.05.2005
г. Минск
Сообщений: 276


Цитата:
Сообщение от vn
Набрал с клавиатуры S2P получил:
Command: s2p
Unknown command "S2P". Press F1 for help.
Надо DSTP_CVSPL2PL

Цитата:
Сообщение от vn
Нарисовал кусочек сплайна, сохранил as в AutoCAD R12 DXF
набрал команду DXFOUT, Автокад предложил пересохранить файл, что я и сделал, но со сплайном ничего не произошло, в полилинию не превратился.
Реально работает способ от А.Ривилиса. Toolpac и Express не справляются со сплайнами, экспортированными например из CorelDraw.

сохранил as в AutoCAD R12 DXF и DXFOUT практически одно и тоже. ИМХО, когда ты делал DXFOUT не указал версию AutoCAD R12 DXF (это обязательно)
VetalBY вне форума  
 
Непрочитано 17.02.2006, 11:37
#12
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Command: s2p
Unknown command "S2P". Press F1 for help
Наверно это имелось ввиду
Код:
[Выделить все]
;;;CADALYST 06/05 Tip2039: Spline2Pline.lsp 	Spline to Polyline Conversion 	(c) Lloyd Beachy

;; Spline2Pline.lsp (c) 2005 Lloyd Beachy
;; Routine to convert splines to plines

(Defun C:S2P (/ ss pt# cmdecho osmode clayer count ent lay lng pt-list cnt)
  (vl-load-com)
  (setq ss	(ssget '((0 . "spline")))
	pt#	(getint "Enter number of segments <100>:")
	cmdecho	(getvar "cmdecho")
	osmode	(getvar "osmode")
	clayer	(getvar "clayer")
	count 	0					;spline counter
  );end setq
  (if(null pt#)(setq pt# 100))
  (setvar "cmdecho" 0)
  (command "_.undo" "_begin")				;begin undo group
  (setvar "osmode" 0)
  (repeat(sslength ss)					;repeat for each spline
    (setq ent	(vlax-ename->vla-object (ssname ss count));change spline to vla-object
	  lay	(vlax-get-property ent "layer")		;spline's layer
	  lng	(vlax-curve-getDistAtPoint ent(vlax-curve-getEndPoint ent));length of spline
	  pt-list(list(vlax-curve-getStartPoint ent))	;coords for start of spline
	  cnt 	1.0					;segment counter
    );end setq
    (repeat pt#						;repeat for each segment
      (setq pt-list(cons(vlax-curve-getPointAtDist ent (* lng(/ cnt pt#)))pt-list));add segment's point to pt-list
      (setq cnt(1+ cnt))				;counter to next segment
    );end segment repeat
    (setq cnt 0)					;pline counter
    (setvar "clayer" lay)				;match spline's layer
    (command "_.pline"					;start "pline" command
	     (repeat(length pt-list)			;repeat for each point
	       (command(nth cnt pt-list))		;enter current point
	       (setq cnt(1+ cnt))			;counter to next point
	       ""					;return value to close "pline" command
	     );end point repeat
    );end command
    (setq count(1+ count))				;counter to next spline
  );end spline repeat
  (command "_.erase" ss "")
  (setvar "osmode" osmode)
  (setvar "clayer" clayer)
  (command "_.undo" "_end")				;end of undo group
  (setvar "cmdecho" cmdecho)
  (princ)						;exit quietly
);end C:S2P
http://new.cadalyst.com/code/browsey...?fullyear=2005
VVA вне форума  
 
Автор темы   Непрочитано 17.02.2006, 11:47
#13
vn


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


VetalBY, спасибо,
набрал DSTP_CVSPL2PL - результат тот же -"неизвестная команда"
Версию я указал сразу же после того, как нарисовал сплайн, но после команды DXFIN выскакивает окно OPEN FILE а в его расширениях стоит только DXF и никаких 12х версий.
vn вне форума  
 
Непрочитано 17.02.2006, 11:57
#14
VetalBY


 
Регистрация: 16.05.2005
г. Минск
Сообщений: 276


Версию надо указывать, когда делаешь DXFOUT
VetalBY вне форума  
 
Автор темы   Непрочитано 17.02.2006, 11:58
#15
vn


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


Спасибо VVA магистр,
Если бы Вы дали пошаговую инструкцию, как запустить эту программу,
то как обычный юзер, я смог бы ее применить, а сейчас руки опускаются.
vn вне форума  
 
Автор темы   Непрочитано 17.02.2006, 12:10
#16
vn


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


VetalBY мастер спасибо!
Ура!!!!
Я не понял, как это произошло , но после нескольких попыток открыть файл, в окне, сплайн превратился в полилинию. Спасибо всем! Отработаю пошаговую инструкцию и выложу здесь, если получится повторить успех,думаю это будет интересно для самых что нинаесть ту.. т.е. начинающих, вроде меня.
vn вне форума  
 
Непрочитано 17.02.2006, 12:16
#17
asys

архитектор
 
Регистрация: 10.08.2005
Ростов-на-Дону
Сообщений: 5,345


>vn
Цитата:
набрал DSTP_CVSPL2PL - результат тот же -"неизвестная команда"
Это потому что у тебя ToolPackа нет, это его команда
>VetalBY
Цитата:
Toolpac и Express не справляются со сплайнами, экспортированными например из CorelDraw
Все работает правда Toolpac не на 100%, а с Expressом проблем еще небыло
asys вне форума  
 
Непрочитано 17.02.2006, 12:34
#18
VetalBY


 
Регистрация: 16.05.2005
г. Минск
Сообщений: 276


Цитата:
Сообщение от Asys
Все работает правда Toolpac не на 100%, а с Expressом проблем еще небыло
Прикладываю файлик...
[ATTACH]1140168865.dwg[/ATTACH]
VetalBY вне форума  
 
Непрочитано 17.02.2006, 12:46
#19
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Для VetalBY
Посмотрел файл. Применил команду FLATTEN с удалением скрытых линий. Все сплайны преобразовались в полилинии (64 шт). И еще осталось 4 эллипса.
Profan вне форума  
 
Непрочитано 17.02.2006, 13:01
#20
VetalBY


 
Регистрация: 16.05.2005
г. Минск
Сообщений: 276


Цитата:
Сообщение от Profan
Для VetalBY
Посмотрел файл. Применил команду FLATTEN с удалением скрытых линий. Все сплайны преобразовались в полилинии (64 шт). И еще осталось 4 эллипса.
Сплайны преобразовались, но:
1. Сместились относительно тех же эллипсов
2. Потеряли геометрию (присмотрись на "квадратики")

По крайней мере у меня так (AutoCAD 2006) :roll:
VetalBY вне форума  
 
Непрочитано 17.02.2006, 13:23
#21
Tramp


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


vn, а задача стоит превратить сплайн в полилинию максимально приближённую к сплайну по форме (из мелких сегментов) или в исходную (в ту, из которой сплайн был создан)?
Если первое, то отлично сработает offset с очень малым шагом.
Tramp вне форума  
 
Непрочитано 17.02.2006, 13:23
#22
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Возможно. Я думал, что у вас сомнения вообще насчет преобразования сплайна в полилинию с помощью команды FLATTEN. А так, мне и самому не нравится, что кривые Безье из Corel в AutoCAD'е превращаются в сплайны. Но ничего не поделаешь.
Profan вне форума  
 
Непрочитано 17.02.2006, 13:28
#23
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от Tramp
vn, а задача стоит превратить сплайн в полилинию максимально приближённую к сплайну по форме (из мелких сегментов) или в исходную (в ту, из которой сплайн был создан)?
Если первое, то отлично сработает offset с очень малым шагом.
А на вторую сработает лисп построения полилинии по контрольным точкам сплайна.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 17.02.2006, 13:50
#24
vn


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


Рассказываю, что я делал step by step:
1.Открыл новый чертеж.
2.Сохранил его как Body в AutoCAD12 DXF
3. Нарисовал произвольный замкнутый сплайн.
4. Набрал команду DXFOUT, выскочило окно Save Drow. AS.
5. В этом окне переименовал файл в Body1 и снова сохранил в
AutoCAD12 DXF.
6. Набрал команду DXFIN, выскочило окно Select File c выделенным
Body1 , нажал Open и получил замкнутую полилинией область.
7. А дальше вытянул ее и скосил пд 45 град, но это уже не интересно.

Спасибо еще раз всем , что меня надоумили сообща. А то эти мыльные оболочки в 3Dmax достали. Конечно, Loft и Bent(d) в AutoCADе я не сделаю, но твердые тела со сплайном в основании теперь смогу гнать по черному.
[ATTACH]1140189325.dwg[/ATTACH]
vn вне форума  
 
Автор темы   Непрочитано 17.02.2006, 14:05
#25
vn


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


Хотел к предыдущему сообщению для наглядности присоединить файл Body1 dwg (0.5 Мб) но он не присоединился. Я открыл его в "Обзоре" и открыл в окне и нажал "отправить", но на страницу форума он не выложился.
vn вне форума  
 
Непрочитано 17.02.2006, 17:21
#26
Tech


 
Регистрация: 18.10.2004
Odessa
Сообщений: 226
<phrase 1=


>vn
Методика интересная, но слишком мелкие отрезки и регулировать величину и количество к сожалению нельзя, правда один больш-о-о-о-о-й плюс - одним махом весь файл целиком сплайны в 3D-plyline.
Я после Corel обычно обрабатываю лиспом из №12, это немного :? дольше, но после него с файлом можно работать дальше, да и размер не такой большой. Вот пример: в файле из №18 некоторые сплайны обработаны лиспом из №12, они после обработки стали цветом ByLayer, хотя все остались на своих местах. В результате файл похудел примерно на 10 kB, в отличие от перегонки в DXF - 6 с гаком MB, DWG - 1.6MB. Но, это кому как нравится :?
[ATTACH]1140188230.dwg[/ATTACH]
__________________
Труд создал человека, а человек - трудности ...
Tech вне форума  
 
Непрочитано 24.02.2006, 16:10
#27
BWW


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


Почему при использовании команды FLATTEN прямые линии, которые тоже сплайны, удаляются?
BWW вне форума  
 
Непрочитано 26.02.2006, 19:30
#28
atol


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


[quote="vn"]VetalBY, спасибо,
набрал DSTP_CVSPL2PL - результат тот же -"неизвестная команда"
quote]
Программу вначале надо загрузить
atol вне форума  
 
Непрочитано 06.11.2012, 05:09
#29
fireicealex2006


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


для чего переводить сплайн в полилинию?
fireicealex2006 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Можно ли сплайн преобразовать в полилинию в AutoCAD2006?