Hello,
Need help and could not find a solution for it.
I have the ID of non rectangular view port and I need to find the Polyline attached to it.
How do you do that ?
Thanks,
Solved! Go to Solution.
Solved by Alexander.Rivilis. Go to Solution.
Hi, Janet!
Please attach a simplest dwg-file with such viewport and correspondent Polyline.
P.S.: Maybe method Viewport.NonRectClipEntityId can help you?
Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"
Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Hi,
Once you have a viewport ObjectId, use viewport.NonRectClipEntityId (that should be not ObjectId.Null) to get its non-rectangular viewport, see the following code snippet:
transaction.GetObject(viewport.NonRectClipEntityId, OpenMode.ForRead) as Polyline
-Khoa
Thanks Khao for your time,
Actually My Problem it the otherway around. I mean I want the PolyLine ObjectId of sorrouding ViewPort (Which I have the ID.
using System; using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Colors; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.EditorInput; [assembly: CommandClass(typeof(Rivilis.Lesson))] namespace Rivilis { public class Lesson { [CommandMethod("TestViewport")] public void TestViewport() { Document doc = Application.DocumentManager.MdiActiveDocument; Editor ed = doc.Editor; PromptSelectionResult res = ed.GetSelection(); if (res.Status == PromptStatus.OK) { using (Transaction t = doc.TransactionManager.StartTransaction()) { foreach (ObjectId id in res.Value.GetObjectIds()) { Viewport vp = t.GetObject(id, OpenMode.ForRead) as Viewport; if (vp != null) { ObjectId idPoly = vp.NonRectClipEntityId; if (!idPoly.IsNull) { // ObjectId of polyline ed.WriteMessage("\nid = {0} NonRectClipEntityId = {1}", id, idPoly); } else { ed.WriteMessage("\nid = {0} Viewport is not clipping with polyline", id); } } else { ed.WriteMessage("\nid = {0} is not Viewport", id); } } t.Commit(); } } } } }
http://www.developerfusion.com/tools/convert/csharp-to-vb/ for converting C# to VB.NET
Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"
Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Can't find what you're looking for? Ask the community or share your knowledge.