久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区

您的位置:網(wǎng)站首頁 > CAD新聞

CAD(C#)——"小知識點"

時間:2010-01-22 01:48:39 來源:

①: 隱藏實體

     在CAD的開發(fā)中,有時候我們需要根據(jù)用戶的需求隱藏和顯示一些實體,對于實體本身的屬性Visible當(dāng)然可以實現(xiàn)隱藏、顯示實體,不過,除此之外,我們還可以將一個層上的實體同時隱藏起來,這就要使用LayerTableRecord中的IsOff屬性,并且隱藏的實體ObjectId可以出現(xiàn)在SelectAll()的集合中.當(dāng)然,他們之間還是有區(qū)別的,當(dāng)你用Ctrl+A,選中當(dāng)前活動文檔的全部實體是,你就會發(fā)現(xiàn)原來他們之間區(qū)別。

     簡單的測試程序:

代碼
 1  #region 測試圖層的IsOff和實體的Visible是否一致
 2         [CommandMethod("TestLayer")]
 3         public void TestLayerVis()
 4         {
 5             //選擇一點創(chuàng)建實體
 6             PromptPointOptions opt = new PromptPointOptions("選擇起始點:");
 7             PromptPointResult res = ed.GetPoint(opt);
 8             if (PromptStatus.OK == res.Status)
 9             {
10                 Point3d sPt = res.Value;
11                 using (Transaction trans = db.TransactionManager.StartTransaction())
12                 {
13                     BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
14                     BlockTableRecord btr = (BlockTableRecord)trans.GetObject(db.CurrentSpaceId, OpenMode.ForWrite);
15                     //直線,其所在層為默認的層
16                     Line line = new Line();
17                     line.StartPoint = sPt;
18                     line.EndPoint = new Point3d(sPt.X + 100, sPt.Y + 500);
19                     //圓,指定層
20                     Circle c = new Circle(sPt, new Vector3d(001), 30);
21                     c.LayerId = CreateLayer("TestLayer");
22                     line.Visible = false//不顯示實體
23                     btr.AppendEntity(line);
24                     btr.AppendEntity(c);
25                     trans.AddNewlyCreatedDBObject(line, true);
26                     trans.AddNewlyCreatedDBObject(c, true);
27 
28                     LayerTable lt = (LayerTable)trans.GetObject(db.LayerTableId, OpenMode.ForRead);
29                     LayerTableRecord ltr = (LayerTableRecord)trans.GetObject(CreateLayer("TestLayer"), OpenMode.ForWrite);
30                     ltr.IsOff = true//關(guān)閉圖層,隱藏圖層上的實體
31 
32                     trans.Commit();
33                 }
34             }
35         }
36 
37         //創(chuàng)建一個圖層
38         private ObjectId CreateLayer(string layerName)
39         {
40             ObjectId objId = ObjectId.Null;
41             using (Transaction trans = db.TransactionManager.StartTransaction())
42             {
43                 LayerTable lt = (LayerTable)trans.GetObject(db.LayerTableId, OpenMode.ForWrite);
44                 if (lt.Has(layerName))
45                 {
46                     objId = lt[layerName];
47                 }
48                 else
49                 {
50                     LayerTableRecord ltr = new LayerTableRecord();
51                     ltr.Name = layerName;
52                     objId = lt.Add(ltr);
53                     trans.AddNewlyCreatedDBObject(ltr, true);
54                     trans.Commit();
55                 }
56             }
57 
58             return objId;
59         }
60        #endregion 

 

②:修改線寬

     有的時候我們?yōu)榱舜蛴〕鰜淼膱D片更加的清楚,可能會設(shè)計到修改實體的線寬,對于多段線,我們很容易想到使用ConstantWidth,這樣就可以修改其線寬了,其實,對于圓或是直線也一樣,不過我們在修改他們的線寬之前要保證系統(tǒng)變量的lwdisplay的值為1(開),這時我們再設(shè)置LineWeight,就可以改變他們的線寬了。

     簡單的測試程序:

代碼
 1  #region 測試直線、圓的LineWeight和PolyLine的ConstantWidth之間的區(qū)別
 2         [CommandMethod("TestLW")]
 3         public void TestLW()
 4         {
 5             PromptPointOptions opt = new PromptPointOptions("選擇起點:");
 6             PromptPointResult res = ed.GetPoint(opt);
 7             if (PromptStatus.OK == res.Status)
 8             {
 9                 Point3d sPt = res.Value;
10                 ObjectId plId = ObjectId.Null;
11                 ObjectId circleId = ObjectId.Null;
12                 using (Transaction trans = db.TransactionManager.StartTransaction())
13                 {
14                     BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
15                     BlockTableRecord btr = (BlockTableRecord)trans.GetObject(db.CurrentSpaceId, OpenMode.ForWrite);
16 
17                     //創(chuàng)建一個多段線
18                     Polyline pl = new Polyline();
19                     pl.AddVertexAt(0, sPt.Convert2d(new Plane()), 000);
20                     pl.AddVertexAt(1new Point3d(sPt.X + 100, sPt.Y + 500).Convert2d(new Plane()), 000);
21                     pl.AddVertexAt(2new Point3d(sPt.X + 150, sPt.Y - 1500).Convert2d(new Plane()), 000);
22 
23                     //創(chuàng)建一個圓
24                     Circle c = new Circle(sPt, new Vector3d(001), 40);
25 
26                     plId = btr.AppendEntity(pl);
27                     circleId = btr.AppendEntity(c);
28                     trans.AddNewlyCreatedDBObject(pl, true);
29                     trans.AddNewlyCreatedDBObject(c, true);
30                     //修改線寬
31                     pl.ConstantWidth = 0.15;
32                     c.LineWeight = LineWeight.LineWeight035;//絕對線寬
33 
34                     trans.Commit();
35                 }
36             }
37         }
38         #endregion

 

③:多段線凸起

      這個功能一般用在兩條多段線相交時,區(qū)分多段線的走向而特意使相交的多段線在交點出凸起一個"小弧",在這個應(yīng)用中,我們會發(fā)現(xiàn)PolyLine中的AddVertexAt的奇妙之處(插入點的序號可以小于PLine的節(jié)點數(shù)目,PLine的原有節(jié)點的序號會因為有新插入點而自增)。    

      簡單的測試程序:

代碼
 1  [CommandMethod("TestPolyLine")]
 2         public void TestPolyLine()
 3         {
 4             PromptPointOptions opt = new PromptPointOptions("選擇起點:");
 5             PromptPointResult res = ed.GetPoint(opt);
 6             if (PromptStatus.OK == res.Status)
 7             {
 8                 Point3d sPt = res.Value;
 9                 ObjectId plId = ObjectId.Null;
10                 ObjectId circleId = ObjectId.Null;
11                 Polyline pl = new Polyline();
12                 using (Transaction trans = db.TransactionManager.StartTransaction())
13                 {
14                     BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
15                     BlockTableRecord btr = (BlockTableRecord)trans.GetObject(db.CurrentSpaceId, OpenMode.ForWrite);
16 
17                     //創(chuàng)建一個多段線
18                     pl.AddVertexAt(0, sPt.Convert2d(new Plane()), 000);
19                     pl.AddVertexAt(1new Point3d(sPt.X + 200, sPt.Y + 1500).Convert2d(new Plane()), 000);
20                     pl.AddVertexAt(2new Point3d(sPt.X + 400, sPt.Y + 800).Convert2d(new Plane()), 000);
21 
22                     btr.AppendEntity(pl);
23                     trans.AddNewlyCreatedDBObject(pl, true);
24                     ////加一個小弧
25                     Point3d pt1 = pl.GetPointAtDist(80);
26                     Point3d pt2 = pl.GetPointAtDist(100);
27                     pl.AddVertexAt(1, pt1.Convert2d(new Plane()), 000);
28                     pl.AddVertexAt(2, pt2.Convert2d(new Plane()), 000);
29                     pl.SetBulgeAt(10.78);
30                     
31                     trans.Commit();
32                 }
33                 
34             }
35         }

久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区
久久婷婷五月综合色国产香蕉| 国产精品极品在线| 日日碰狠狠躁久久躁婷婷| 欧美人与性动交| 欧美精品一二区| 欧美乱大交xxxxx| 久久成人av网站| 久久中文字幕视频| 久久99精品久久久久久琪琪| 久久亚洲私人国产精品va| 日韩一区二区三区国产| 色偷偷噜噜噜亚洲男人| 久久久久一本一区二区青青蜜月| 久久网站免费视频| 日韩中文字幕视频| 国产精品青草久久久久福利99| 国产精品日韩一区二区免费视频| 国产精品久久久久久久一区探花 | 欧美激情乱人伦| 一区二区视频在线播放| 在线天堂一区av电影| 亚洲自拍av在线| 亚洲国产精品视频一区| 日本一区二区在线视频| 日韩久久不卡| 国产一区二区色| 国产精品亚洲二区在线观看| 91精品国产免费久久久久久| 国产福利精品av综合导导航| 久久久久久久久久久久久国产精品 | 国产精品久久久久久久久借妻| 久久成人18免费网站| 欧美激情在线一区| 色播亚洲婷婷| 欧美精品一区二区三区三州| 国产欧美日韩亚洲| 国产成人精品视| 国产精品日韩在线| 亚洲精品中文字幕无码蜜桃| 日本成熟性欧美| 蜜臀av性久久久久蜜臀av| 成人免费观看cn| 久久久久国产精品视频| 国产精品久久久久久中文字| 一区二区三区四区视频在线| 日本不卡高字幕在线2019| 国产午夜精品在线| 深夜成人在线观看| 亚洲一区二区三区香蕉| 欧美日韩精品免费观看视一区二区| 国产欧美精品一区二区三区-老狼| 国产盗摄视频在线观看| 精品久久久久久一区| 日本不卡一二三区| 91久久国产精品91久久性色| 国产精品免费久久久久影院| 日本在线视频不卡| 成人综合国产精品| 国产精品日韩欧美综合| 亚洲一二三区精品| 精品www久久久久奶水| 久久久久久av无码免费网站下载| 毛片精品免费在线观看| 日韩欧美亚洲精品| av免费观看网| 精品免费国产一区二区| 欧美中文字幕视频在线观看| 91观看网站| 久久久久久91| 国产综合久久久久| www.日韩视频| 日本亚洲精品在线观看| 91久久国产精品91久久性色| 色综合久久久久久中文网| 日韩免费av在线| 69国产精品成人在线播放| 精品视频9999| 韩日午夜在线资源一区二区| 色妞欧美日韩在线| 日韩视频在线免费看| 91九色偷拍| 欧美精品videos性欧美| 国内精品伊人久久| 国产精品日韩欧美综合| 欧美高清视频一区 | 91干在线观看| 亚洲精品日产aⅴ| 成人91免费视频| 美女久久久久久久久久久| 国内精品久久久久| 国产精品视频免费一区二区三区| 日韩免费黄色av| 日韩在线观看免费高清| 青青久久av北条麻妃海外网| 日韩在线观看你懂的| 欧美日韩视频免费在线观看| 日韩亚洲一区二区| 欧美中文在线观看国产| 久久精品国亚洲| 欧美国产一区二区在线| 国产精品后入内射日本在线观看| 国内精久久久久久久久久人| 国产精品久久久久久久久男| 欧美日韩福利在线| 国产精品久久久久久久久久久久冷 | 亚洲一二区在线| 国产精品一区二区电影| 亚洲中文字幕无码不卡电影 | 国产最新精品视频| 欧美成人精品一区| 国产精品亚洲欧美导航| 亚洲综合在线播放| 91精品视频在线播放| 午夜肉伦伦影院| 国产成人拍精品视频午夜网站| 免费在线观看毛片网站| 国产精品毛片一区视频| 国产日产欧美精品| 亚洲精品无码久久久久久| 久久66热这里只有精品| 激情视频综合网| 欧美激情精品久久久久久黑人| 97精品一区二区三区| 日韩黄色片在线| 国产精品久久电影观看| www日韩av| 热久久免费视频精品| 国产精品二区三区四区| 91九色偷拍| 韩国一区二区三区美女美女秀| 中文字幕无码不卡免费视频| 久久免费99精品久久久久久| 狠狠97人人婷婷五月| 亚洲一区二区三区色| 国产精品网址在线| av在线不卡一区| 欧美激情精品久久久久久小说| 伊人久久大香线蕉av一区| 色妞在线综合亚洲欧美| 国产日产欧美a一级在线| 日日碰狠狠丁香久燥| 久久亚洲精品视频| 久久国产精品久久| 国产精品一区二区3区| 欧美日韩一区二区三区免费| 亚洲国产精品一区二区第一页| 色偷偷91综合久久噜噜| 国产免费成人在线| 品久久久久久久久久96高清| 一区二区国产日产| 国产精品美女xx| 国产高清免费在线| 国产精品一区视频| 免费在线成人av| 日韩精品久久久免费观看| 一区二区三区四区欧美日韩| 久久久精品国产一区二区| 91传媒久久久| 国产精品香蕉在线观看| 国产专区欧美专区| 欧美成人高潮一二区在线看| 亚洲欧美久久久久一区二区三区| 国产精品久久视频| 北条麻妃99精品青青久久| 国产高清免费在线| 91av中文字幕| 99视频精品免费| 国产欧美日韩亚洲| 国产在线一区二区三区欧美| 欧美视频在线第一页| 日本精品一区二区三区在线播放视频| 在线观看亚洲视频啊啊啊啊| 操人视频在线观看欧美| 国产精品视频在线免费观看| 久久国产精品网| 91高清免费在线观看| 国产精品一区二区三区免费| 国产在线精品一区二区三区》 | 久久久久久久国产精品| www.日日操| 国产精品一区二区三| 国产免费黄色一级片| 国产日韩欧美日韩| 国产自产女人91一区在线观看| 黄色免费高清视频| 激情综合网俺也去| 黄色av免费在线播放| 红桃一区二区三区| 黄www在线观看| 麻豆av一区二区三区久久| 黄色一级在线视频| 精品一区2区三区| 国产一区免费| 国产另类第一区| 成人一区二区在线| 91精品国产91久久久久| 久久免费少妇高潮久久精品99| 国产成人精品久久| 久久精品人人做人人爽| 国产精品久久77777|