|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Sweep в C#
Регистрация: 15.11.2010
Сообщений: 8
|
||
Просмотров: 3184
|
|
||||
Регистрация: 15.11.2010
Сообщений: 8
|
в принципе устраивает, но при попытке сделать следующее:
SweptSurface pipe = new SweptSurface(); pipe.CreateSweptSurface(poly, circle1, sweepOpts); автокад говорит Нельзя сдвинуть или выдавить неплоские объекты. может просто что-то не правельно делаю, и не все так просто. Да кстати: private SweepOptions sweepOpts = new SweepOptions(); |
|||
![]() |
|
||||
Для AutoCAD 2010 так: http://through-the-interface.typepad...using-net.html
|
||||
![]() |
|
||||
Регистрация: 15.11.2010
Сообщений: 8
|
спасибо за идею, Сделал вот как:
ObjectId regId = circle1.ObjectId; // Ask the user to select an extrusion path ObjectId splId = poly.ObjectId; Transaction tr = acCurDb.TransactionManager.StartTransaction(); using (tr) { try { Entity sweepEnt =tr.GetObject(regId, OpenMode.ForRead) as Entity; Curve pathEnt =tr.GetObject(splId, OpenMode.ForRead) as Curve; if (sweepEnt == null || pathEnt == null) { ed.WriteMessage("\nProblem opening the selected entities."); } SweepOptionsBuilder sob =new SweepOptionsBuilder(); sob.Align =SweepOptionsAlignOption.AlignSweepEntityToPath; sob.BasePoint = pathEnt.StartPoint; sob.Bank = true; SweptSurface ss =new SweptSurface(); ss.CreateSweptSurface(sweepEnt,pathEnt,sob.ToSweepOptions()); BlockTable bt = (BlockTable)tr.GetObject(acCurDb.BlockTableId, OpenMode.ForRead); BlockTableRecord ms =(BlockTableRecord)tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite); ms.AppendEntity(ss); tr.AddNewlyCreatedDBObject(ss, true); tr.Commit(); } catch { } } в принципе получилось, сдвиг работает, но почему-то на большую половину линий ругается: Ошибка операции моделирования: При сдвиге не смогло получиться корректное тело. А остальные сдвигает но разбрасывает по оси z, т.е. они не лежат в одной плоскости как до сдвига, в чем проблема может быть? |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как правильно построить по сечениям (LOFT) | discovery | AutoCAD | 5 | 21.11.2010 18:28 |
разъясните, что такое режим BANK в инструменте SWEEP | user1294 | AutoCAD | 3 | 17.09.2009 11:46 |
Вопрос по работе Sweep и Extrude в AutoCAD 2007 | Baires | AutoCAD | 8 | 01.03.2007 23:31 |