久久国产色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                     //直線,其所在層為默認(rèn)的層
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_欧美 国产 日本_好吊色欧美一区二区三区
欧美亚洲另类久久综合| 精品国内产的精品视频在线观看| 国产又爽又黄的激情精品视频| 国产美女视频免费| 久久av免费一区| 不卡av电影院| 日韩欧美一区二| 国产伦精品一区二区三区照片 | 日本中文字幕在线视频观看| 国内一区在线| 日日狠狠久久偷偷四色综合免费| 亚洲人成无码www久久久| 亚洲一区精品视频| 精品一区二区三区无码视频| 国产成人亚洲综合| 久久综合免费视频| 欧美牲交a欧美牲交| 国产欧美日韩中文字幕在线| 久久精品视频在线播放| 日韩xxxx视频| 99热在线播放| 精品久久久久亚洲| 欧美精品在线一区| 久久久久久香蕉网| 日本一区精品| 97人人模人人爽人人喊中文字| 国产精品久久久久久久美男| 手机成人av在线| 国产在线视频2019最新视频| 国产精品视频色| 欧美极品欧美精品欧美图片| 久久色在线播放| 欧美一区视久久| 国产精品免费在线| 国产在线资源一区| 中文字幕欧美日韩一区二区| 成人免费91在线看| 动漫一区二区在线| 久久精品在线免费视频 | 国产美女无遮挡网站| 欧美日本中文字幕| 国产欧美va欧美va香蕉在| 一区二区三区四区不卡| 91精品国产综合久久男男| 日本一区二区三区在线播放| 久久久极品av| 国产日产欧美一区二区| 亚洲影视九九影院在线观看| 久久青青草原| 国语自产精品视频在线看| 九九视频直播综合网| 91久久精品国产| 午夜免费电影一区在线观看| 色婷婷综合久久久久| 国内精品**久久毛片app| 久久99热精品| 国产精品 欧美在线| 热re99久久精品国产66热| 国产精品视频成人| 成人精品在线视频| 日韩精品在线视频免费观看| 精品乱色一区二区中文字幕| 久久久人成影片一区二区三区| 欧美综合激情网| 欧美精品日韩三级| 久久久免费在线观看| 欧美日韩精品免费在线观看视频| 欧美黄网免费在线观看| 久久99蜜桃综合影院免费观看| 国内精品视频一区二区三区| 一区二区冒白浆视频| 久久伊人资源站| 蜜桃久久影院| 日本精品视频一区| 九九九热精品免费视频观看网站| 久久久国产精品一区二区三区| 黄色一级片在线看| 亚洲国产欧美日韩| 国产精品电影久久久久电影网| 国产黄色特级片| 国产美女主播一区| 欧美亚洲激情视频| 亚洲资源在线看| 国产精品网站免费| 99久久精品免费看国产一区二区三区| 欧美亚洲精品日韩| 亚洲国产欧美不卡在线观看| 久久夜色精品国产亚洲aⅴ| 国产freexxxx性播放麻豆| 今天免费高清在线观看国语| 久久久精品国产一区二区| 国产青春久久久国产毛片| 日本女人高潮视频| 久久中文字幕国产| 国产v综合v亚洲欧美久久| 国产日韩亚洲精品| 日韩欧美精品一区二区三区经典| 一区二区三区四区视频在线观看| 久久久精品久久| 国产精彩精品视频| 国产美女91呻吟求| 日韩激情久久| 午夜精品在线观看| 欧美激情国产精品| 国产精品久久久久9999爆乳| 久久www免费人成精品| 91高清免费视频| 成人中文字幕av| 国产欧美精品xxxx另类| 麻豆一区二区三区在线观看| 欧美日韩一区综合| 日韩亚洲欧美一区二区| 欧美一区二区三区四区夜夜大片 | 国产综合在线看| 日本一欧美一欧美一亚洲视频| 亚洲免费视频一区| 亚洲综合自拍一区| 一区二区视频国产| 久久777国产线看观看精品| 国产精品日韩欧美综合| 久久久久久久久久av| 国产超碰91| 久久久久久人妻一区二区三区| 国产成人精品免高潮费视频| 久久人人爽人人爽人人片av高请| 91好吊色国产欧美日韩在线| 福利视频久久| 国产免费一区二区视频| 国产美女精品视频免费观看| 国产免费黄色一级片| 国产美女无遮挡网站| 国产精品中文在线| 国产日韩欧美一区二区| 国产精选一区二区| 国产精品有限公司| 国产精品专区h在线观看| 成人免费xxxxx在线观看| 国产精品一区而去| 国产日韩一区二区在线观看| 国产乱码一区| 91精品久久久久久蜜桃| 国产成人一区二区三区电影| 少妇久久久久久| 日韩中文字幕不卡视频| 久久精品免费电影| 国产精品美女午夜av| 精品久久久久久一区二区里番| 在线视频不卡一区二区三区| 亚洲成人第一| 日韩aⅴ视频一区二区三区| 日韩精品免费一区| 欧美日韩国产三区| 国产日韩欧美日韩大片| 97成人在线免费视频| 国产成人短视频| 国产精品日韩一区二区免费视频| 欧美成人第一页| 伊人久久av导航| 日本一区高清在线视频| 免费人成在线观看视频播放| 97精品伊人久久久大香线蕉| 久久久久久久激情视频| 99在线热播| 97人人模人人爽人人喊38tv| 久久久天堂国产精品女人| 神马国产精品影院av| 久久久免费电影| 久久免费视频观看| 久久香蕉视频网站| xxav国产精品美女主播| 久久伊人91精品综合网站| 一本大道熟女人妻中文字幕在线| 亚洲一区二区三区欧美| 日韩av色综合| 欧美亚洲在线播放| 国产尤物99| 久久精品无码中文字幕| 欧美一级视频在线播放| 欧美一级黑人aaaaaaa做受| 国产原创精品| 国产va免费精品高清在线观看| 国产精品久久久久久久天堂 | 久久久久久久久一区二区| 久久久国产视频91| 中文字幕黄色大片| 青青草精品视频在线| 豆国产97在线| 久久久成人精品| 污污污污污污www网站免费| 免费h精品视频在线播放| 国产成一区二区| 欧美人成在线视频| 欧美精品成人网| 久久久久国产精品熟女影院| 欧美日韩国产二区| 欧美 日韩 国产精品| 国产成人一区二区三区小说| 亚洲影影院av| 黄色网页免费在线观看| 久久人人爽爽人人爽人人片av|