乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 162|回复: 9

如何修改块的名称啊?

[复制链接]

34

主题

124

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2010-11-19 13:50:00 | 显示全部楼层 |阅读模式
已知一个块名为b1,如何通过c#或vb.net修改它的名称?
回复

使用道具 举报

0

主题

12

帖子

3

银币

初来乍到

Rank: 1

铜币
12
发表于 2017-11-8 20:27:00 | 显示全部楼层

大佬,我今天又想了一天,还是实现不了。能不能分享一个在已有块参照中添加指定实体的例子啊?谢谢了        public void Jig2()
        {
            Database db = HostApplicationServices.WorkingDatabase;//获取当前数据库对象
            using (Transaction trans = db.TransactionManager.StartTransaction())
            {
                BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
                BlockTableRecord btr = trans.GetObject(bt["b"], OpenMode.ForWrite) as BlockTableRecord ;
                Point3d pw1 = new Point3d(0, 0, 0);
                Point3d pw2 = new Point3d(0, 100, 0);
                Line l1 = new Line(pw1, pw2);
                btr.AppendEntity(l1);    //新建的实体也加不进来,论坛也看遍了,还是做不到,请大佬在指点指点 ,删除块参照中的实体倒是容易实现         
                trans.Commit();
            }
        }
回复

使用道具 举报

0

主题

12

帖子

3

银币

初来乍到

Rank: 1

铜币
12
发表于 2017-11-8 02:01:00 | 显示全部楼层

大佬,帮个忙,我想实现一个功能,比如现在的模型空间,有一个块参照“A”,和一条通过选择的得到的直线。怎么把这个直线添加到块参照里面?我自己想了一下,但老是报错,帮我看看吧:
                BlockTable bt = trans.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;
                BlockTableRecord btr = trans.GetObject(bt["b"], OpenMode.ForWrite) as BlockTableRecord;//b是块参照
                PromptSelectionResult ps = ed.SelectAll();
                SelectionSet ss = ps.Value;
                ObjectIdList sss = ss.GetObjectIds();
                List en2 = new List();
                Entity  ent = (Entity)sss[0].GetObject(OpenMode.ForWrite);//这几步是为了得到直线               
                btr.AppendEntity(ent);//每次运行到这里就出错了,实在是搞不懂啊(如果是新建直线,圆,都没问题,通过图形选择结果来加就不行了)
                trans.Commit();
回复

使用道具 举报

0

主题

12

帖子

3

银币

初来乍到

Rank: 1

铜币
12
发表于 2017-11-8 09:56:00 | 显示全部楼层

非常感谢!不愧是大佬
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2010-11-19 17:36:00 | 显示全部楼层
BlockTable bt = tr.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;
                BlockTableRecord btr = tr.GetObject(bt["a"], OpenMode.ForWrite) as BlockTableRecord;
                btr.Name = "b";
回复

使用道具 举报

34

主题

124

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
260
发表于 2010-11-22 08:50:00 | 显示全部楼层
晕,原来就这样啊,我还以为先要分解然后重组啥的
回复

使用道具 举报

75

主题

306

帖子

10

银币

中流砥柱

Rank: 25

铜币
606
发表于 2010-11-22 11:55:00 | 显示全部楼层
上面的方法是把全图块名为 a 的改名为 b ,如果图中有多个块名为a 的图块,而且只想把某一个块改为b ,这种情况应该怎么修改,请老师提供一下思路。谢谢!
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2010-11-22 13:52:00 | 显示全部楼层
BlockReference.BlockTableRecord Property
回复

使用道具 举报

75

主题

306

帖子

10

银币

中流砥柱

Rank: 25

铜币
606
发表于 2010-11-22 15:01:00 | 显示全部楼层
问题解决,谢谢!!
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2017-11-8 06:56:00 | 显示全部楼层
ent2=ent.clone() as entity.   btr.appendentity(ent2)
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 06:48 , Processed in 0.573875 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表