日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

设置曲面样式之流域

發布時間:2024/4/13 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设置曲面样式之流域 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

QQ網友1109743151求助,

在設置流域后不顯示。

代碼中貌似沒有什么問題,

經過測試,

發現使用手工設置曲面樣式過程中,

如果顯示流域,

會有一個曲面分析的過程發生,

于是在代碼中添加了曲面分析的代碼,

之后即可正常顯示流域。

測試代碼如下:

沒有得到網友的允許就將他的代碼貼出來,

希望不會造成誤會!

?

// (C) Copyright 2018 by Microsoft // using System; using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.EditorInput; using Autodesk.Civil.DatabaseServices; using Autodesk.Civil.ApplicationServices; using Autodesk.Civil.DatabaseServices.Styles;// This line is not mandatory, but improves loading performances [assembly: CommandClass(typeof(AutoCAD_CSharp_plug_in3.MyCommands))]namespace AutoCAD_CSharp_plug_in3 {public class MyCommands{public static void ModifyTheFurface(bool T1, bool T2, bool T3, bool T4, bool T5, bool T6, bool T7, bool T8, bool T9, bool T10){//在非模態下打開模型空間前要解鎖//DocumentLock docLock = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.LockDocument();Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;/ PromptEntityOptions peo = new PromptEntityOptions("\n選擇三角網曲面");peo.SetRejectMessage("\n請選擇三角網曲面");peo.AddAllowedClass(typeof(TinSurface), true);PromptEntityResult per= ed.GetEntity(peo);if (per.Status != PromptStatus.OK) return;ObjectId objectid =per.ObjectId;/ //ObjectId objectid = promptForEntity(typeof(TinSurface));using (Transaction trans = doc.TransactionManager.StartTransaction()){CivilDocument civilDoc = CivilApplication.ActiveDocument;TinSurface surface = trans.GetObject(objectid, OpenMode.ForWrite) as TinSurface;//change the style, 下面開始更改樣式了ObjectId styleId = new ObjectId();if (civilDoc.Styles.SurfaceStyles.Contains("Standard"))styleId = civilDoc.Styles.SurfaceStyles["Standard"];elseif (!civilDoc.Styles.SurfaceStyles.Contains("Standard")){civilDoc.Styles.SurfaceStyles.Add("Standard");styleId = civilDoc.Styles.SurfaceStyles["Standard"];}SurfaceStyle surfaceStyle = styleId.GetObject(OpenMode.ForWrite) as SurfaceStyle;//平滑系數 surfaceStyle.ContourStyle.SmoothContours = true;surfaceStyle.ContourStyle.SmoothingType = ContourSmoothingType.AddVertices;surfaceStyle.ContourStyle.SmoothingFactor = 10;surfaceStyle.ContourStyle.MajorContourColorScheme = ColorSchemeType.Rainbow;//等高線 surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.MajorContour).Color = Autodesk.AutoCAD.Colors.Color.FromRgb(255, 191, 0); //加組主等高線紅色surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.MajorContour).Layer = "0"; //加組主等高線零層surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.MajorContour).LinetypeScale = 0.4;//加組主等高線比例surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.MinorContour).Color = Autodesk.AutoCAD.Colors.Color.FromRgb(165, 145, 82);//次等高線紅色surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.MinorContour).Layer = "0";//次等高線零層surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.MajorContour).LinetypeScale = 0.1;//加組主等高線比例 DisplayStyle majorContours = surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.MajorContour);majorContours.Visible = true;// majorContours.Color = Autodesk.AutoCAD.Colors.Color.FromRgb(255, 255, 0);surfaceStyle.ContourStyle.BaseElevationInterval = 0.0;//基地海拔間隔surfaceStyle.ContourStyle.MajorContourInterval = 10;//主要等高線間距surfaceStyle.ContourStyle.MinorContourInterval = 2;//次要等高線間距 DisplayStyle minorContours = surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.MinorContour);minorContours.Visible = true;// minorContours.Color = Autodesk.AutoCAD.Colors.Color.FromRgb(0, 255, 0);// 顯示等高線surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.MajorContour).Visible = T1;//是否顯示等高線surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.MinorContour).Visible = T1;//細等高線// display boundaries:surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.Boundary).Visible = true;surfaceStyle.BoundaryStyle.DisplayExteriorBoundaries = true;surfaceStyle.BoundaryStyle.DisplayInteriorBoundaries = false;// 關閉顯示的其他顯示 surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.UserContours).Visible = T2;//用戶輪廓surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.Directions).Visible = T3;//方向surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.Elevations).Visible = T4;//海拔高度surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.Slopes).Visible = T5;//山坡上surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.SlopeArrows).Visible = T6;//斜率的箭surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.Watersheds).Visible = T7;//分水嶺 surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.Gridded).Visible = T8;//網格surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.Points).Visible = T9;//surfaceStyle.GetDisplayStylePlan(SurfaceDisplayStyleType.Triangles).Visible = T10;//surface.StyleId = styleId;//指定文檔中第一表面的風格//surface.UpgradeOpen();surface.Rebuild();//重建曲面 /////if (T7){SurfaceAnalysis sa = surface.Analysis;SurfaceAnalysisWatershedDataCollection swdc = sa.GetWatershedData();sa.SetWatershedData(swdc);}////trans.Commit();//提交事務 ed.UpdateScreen();ed.UpdateTiledViewportsFromDatabase();ed.UpdateTiledViewportsInDatabase();}//ZoomExtents();//在用完后要鎖定//docLock.Dispose(); }[CommandMethod("MyGroup", "MyCommand", "MyCommandLocal", CommandFlags.Modal)]public void MyCommand() // This method can have any name {ModifyTheFurface(false, false, false, false, false, false, true, false, false, false);}} }

?

轉載于:https://www.cnblogs.com/myzw/p/8969536.html

總結

以上是生活随笔為你收集整理的设置曲面样式之流域的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。