明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3311|回复: 12

[.net群] 2013-11-13 明经 AutoCAD.NetApi (2474812) 群聊记录:请问下,如何让CAD中的物体的颜色为RGB格式?

 关闭 [复制链接]
发表于 2013-11-13 08:43 | 显示全部楼层 |阅读模式
[yanbinyanbin88][C#]爱好者 08:43:53
请问下,如何让CAD中的物体的颜色为RGB格式?
[VB.net]福萝卜 08:45:58
entity.Color = Autodesk.AutoCAD.Colors.Color.FromRgb(R, G, B)
Owen 08:51:42
做了一个 List, 去除里面的坐标重复点,大家有什么简洁的方法?
从〇开始 08:53:18
linq
Owen 08:54:23
额,我刚用C#做CAD插件没两天,以前没用过.net,能具体些吗?
不好意思哈
从〇开始 08:55:07
告诉你方向  你百度
Owen 08:56:13
好吧
谢了
[menxin][C#]menxin 09:05:14
list.distinct()
Owen 09:12:58
用distinct , 对 point3d类型, 默认的不带参数可以判断两个坐标点重合么? 还是需要自己另外构造比较方法?
[menxin][C#]menxin 09:17:54
应该可以
不行就自己重载equals,或声明个比较器
Owen 09:18:32
我试试看吧,  C#调试太麻烦了, 得试了才知道
谢谢了
从〇开始 09:18:46
[zhengjian211]疯狂青蛙 09:19:03
c#调试还麻烦?
比arx简单多了
Owen 09:19:50
额,有什么想法想验证一下,得重新写个程序
[vb.net]PPYYFF 09:20:22
arx太恶心了,
[menxin][C#]menxin 09:20:30
加到代码里,用debugger写一下就行了
[zhengjian211]疯狂青蛙 09:20:32
用tolerance 比较
Owen 09:21:37
我以前主要用python,脚本语言,所以可能习惯交互式的编辑方法,有什么想法马上出结果
Owen 09:22:20
C#连到CAD里面调试的时候, 可以一边改代码一边运行吗? 还没弄清楚怎么操作
[zhengjian211]疯狂青蛙 09:28:57
不行
VB|C#DUMMY 09:29:15
想法挺好。
我也一直在找这路子。
[menxin][C#]menxin 09:30:31
应该可以做到,但比较麻烦
[vb.net]PPYYFF 09:30:40
还是VBA好用,用COM方式就可以
从〇开始 09:30:56
[zhengjian211]疯狂青蛙 09:30:59
解释性语言lisp多好
Owen 09:31:24
lisp括号太多了
[menxin][C#]menxin 09:31:46
需要先下个壳在CAD里,在这个壳里动态加载DLL,自定义应用程序域,控制释放
Owen 09:31:48
一些算法做起来感觉也太麻烦,还有智能感知等,选来选去还是选了C#
[menxin][C#]menxin 09:32:30
VS本身支持运行时编辑,只是对非托管不支持
[menxin][C#]menxin 09:33:06
VS2013已支持X64的运行时编辑
我试一下
Owen 09:33:33
哦,不是太明白这些概念
[zhengjian211]疯狂青蛙 09:33:45
VS2013已支持X64的运行时编辑
这个谁试过?
要是这样 就太爽了
[menxin][C#]menxin 09:37:34
32位应该直接支持
[menxin][C#]menxin 09:41:20
64位是支持.4.5.1类库的 编辑并继续
[menxin][C#]menxin 09:44:25
[qqimg]201311/{0F71D543-7435-EA6B-BBCB-E38324C82038}.jpg[/qqimg]
 楼主| 发表于 2013-11-13 09:57 | 显示全部楼层
[menxin][C#]menxin 09:57:06
[qqimg]201311/{5895E215-419B-1F52-5FB3-CEF16574F209}.jpg[/qqimg]
[qqimg]201311/{08295B37-D8AA-B96D-A4B3-D64FA5794860}.jpg[/qqimg]
可以使用
Owen 09:57:38
哦,那只能支持高版本CAD了
[menxin][C#]menxin 09:58:14
主要是DLL的类库版本,应该只能是4.5.1
这是对X64来说的
X86早就支持
我刚才试的是64位的
Owen 09:59:21
我的电脑是64位的
[menxin][C#]menxin 09:59:40
64位可以用啊
Owen 10:00:04
没有高版本CAD
[menxin][C#]menxin 10:00:07
[qqimg]201311/{6FDCAB6A-5F18-74D1-0A42-A6E8E15EEB90}.jpg[/qqimg]
Owen 10:00:21
2010的framework没有这么高吧
[menxin][C#]menxin 10:00:35
只有VS2013支持
[c#]wliu 10:04:35
winform 预览 dwg文件 有谁知道
[menxin][C#]menxin 10:05:31
直接读文件头显示应该就可以
[zhengjian211]疯狂青蛙 10:07:12
有的dwg文件本身没存储缩略图
没法读取
[c#]wliu 10:07:21
是转换为图片吗?
[zhengjian211]疯狂青蛙 10:07:50
用控件预览的精度都不理想
还是用slide吧
[c#]wliu 10:08:31
如何做
从〇开始 10:08:31
如果没有幻灯片呢
[zhengjian211]疯狂青蛙 10:09:11
那就是自己控制了,入库时就做成幻灯片
要通用性的精度高的 没有
稍微大一点点就全是锯齿
从〇开始 10:09:58
简单的截图片显示即可
[zhengjian211]疯狂青蛙 10:10:02
jpg分辨率开大了 文件体积比dwg还大.
看需求
[vb.net]PPYYFF 10:11:54
[qqimg]201311/{4BBE0732-8CBC-F8F9-700B-39D6E71F63AB}.jpg[/qqimg]
[menxin][C#]menxin 10:12:03
只有单独处理才能得到大一些的图
[vb.net]PPYYFF 10:12:20
我一般用这个处理,然后转换成JPG分辨率还特别高
 楼主| 发表于 2013-11-13 11:29 | 显示全部楼层
[menxin][C#]menxin 11:29:19
[qqimg]201311/{320457C7-36C8-BDFE-503F-9BB9D41A0BC2}.gif[/qqimg]
[VB.NET]Vincent 11:35:42
ThisDrawing = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.AcadDocument
     ThisDrawing.Save()
出错说文档忙。
有没有遇到过。
[vb.net]PPYYFF 11:36:26
哪就忙呗
[VB.NET]Vincent 11:36:34
[VB.NET]Vincent 11:37:16
我打开图纸修改了一个块。然后就save 就出这个错。
难到要用SAVEAS.
从〇开始 11:37:55
[qqimg]201311/{F39307FA-A09D-778B-E16B-5A2A7EF55AAF}.jpg[/qqimg]
[vb.net]PPYYFF 11:38:05
你的CAD命令处还没结束命令吧
从〇开始 11:39:16
com + net api ?这搞得啥
[VB.NET]Vincent 11:40:50
但是我就是打开了文档,然后修改块然后保存。
[vb.net]PPYYFF 11:42:09
ThisDrawing =好像不对吧
[VB.NET]Vincent 11:42:28
怎么不对。
Owen 11:42:54
哈哈,已经学会怎么做LIST.DISTINCT的comparer了
[vb.net]PPYYFF 11:42:54
你是在CAD里面还是COM
Owen 11:43:02
[qqimg]201311/{05929778-54A9-CA76-99D3-463EE6682C00}.jpg[/qqimg]
[VB.NET]Vincent 11:43:04
COM
[VB.NET]Vincent 11:43:48
在VBA中使用ThisDrawing.Save完全没有问题。
[VB.NET]Vincent 11:44:23
我使用SAVEAS就没有问题。
[vb.net]PPYYFF 11:44:28
Autodesk.AutoCAD.Interop.AcadDocument
从〇开始 11:44:28
你这不是真正意义上的com
[vb.net]PPYYFF 11:44:39
这个是2007的
[VB.NET]Vincent 11:44:48
都一样。
[vb.net]PPYYFF 11:44:52
其它版本有变化
[menxin][C#]menxin 11:44:56
就是得用saveas
[vb.net]PPYYFF 11:45:03
不一样
[VB.NET]Vincent 11:45:19
我用的是2012的
[C#]menxin(98818)  11:44:51
就是得用saveas
为什么一定要用。
[vb.net]PPYYFF 11:45:46
2012没.Interop
从〇开始 11:46:06
[VB.NET]Vincent 11:46:44
怎么要能没有。
[menxin][C#]menxin 11:46:44
save未实现
[menxin][C#]menxin 11:47:16
database.saveas
[VB.NET]Vincent 11:47:25
那它为什么会有这个呢。
[menxin][C#]menxin 11:47:49
objectarx里有好多这种情况
[VB.NET]Vincent 11:48:01
倒!
我用ThisDrawing.SendCommand(" _QSave ")
[menxin][C#]menxin 11:48:23
你才碰到一个?
从〇开始 11:48:30
还发命令
[VB.NET]Vincent 11:48:50
真的无语哦!
从〇开始 11:48:53
多文档操作需要锁定
[menxin][C#]menxin 11:48:57
你为什么非要用save呢,saveas不是挺好吗
[VB.NET]Vincent 11:49:29
saveas会重新生成一个文件呀!
[menxin][C#]menxin 11:49:53
...
[VB.NET]Vincent 11:50:24
试一下。
[menxin][C#]menxin 11:50:44
[qqimg]201311/{C14C9E23-8D46-EB17-96C6-ADE45B7C43F3}.jpg[/qqimg]
[VB.NET]Vincent 11:51:46
不行。
要另存一个文档才可以。
[menxin][C#]menxin 11:54:28
再rename
[VB.NET]Vincent 11:57:35
这样都不行。
[VB.NET]Vincent 11:58:08
要改成ThisDrawing.SaveAs ("d:123.dwg")
这样就可以了。
[menxin][C#]menxin 11:59:13
已经说了,只能用saveas,save未实现
[VB.NET]Vincent 12:00:27
唉!好吧!
看来只能这样了。
 楼主| 发表于 2013-11-13 12:45 | 显示全部楼层
[yanbinyanbin88][C#]爱好者 12:45:55
请问下如何获取实体颜色的分别的R G B值?
[zhengjian211]疯狂青蛙 12:55:34
mjtd上有
windows颜色的和cad颜色的互相映射
[yanbinyanbin88][C#]爱好者 13:02:20
请问下大家,,如果将CAD物体的颜色为索引色的,转化为RGB格式?
从〇开始 13:02:31
[zhengjian211]疯狂青蛙 13:02:42
伸手党已经很可耻了
你这是什么级别
 楼主| 发表于 2013-11-13 13:14 | 显示全部楼层
[VB.NET]Vincent 13:14:08
这种方式反回错是文档锁定。
 楼主| 发表于 2013-11-13 14:02 | 显示全部楼层
[menxin][C#]menxin 14:02:33
呵呵,编辑并继续确实爽
省了好多时间
[VB.NET]Vincent 14:03:44
我终于放弃了使用save
[VB.NET]Vincent 14:04:18
只要用COM调用打开的文件只能用savesa.
[menxin][C#]menxin 14:04:47
[VB.NET]Vincent 14:05:09
在VBA中可以或者用手动打开的图纸也是可以的。
唉!
[menxin][C#]menxin 14:05:43
[qqimg]201311/{C14C9E23-8D46-EB17-96C6-ADE45B7C43F3}.jpg[/qqimg]autodesk告诉你未实现,难道你非要自己实现一个不成..
[VB.NET]Vincent 14:07:49
你这图是在那里截的。
[vb.net]PPYYFF 14:07:57
那就saveas 反正都一样
[VB.NET]Vincent 14:08:06
是的!
只是麻烦点
[vb.net]PPYYFF 14:08:33
我以前也是用saveas
[menxin][C#]menxin 14:09:08
类定义啊
[qqimg]201311/{94FF82BF-BBEC-9D8E-0B86-87A2910E39A2}.jpg[/qqimg]
[VB.NET]Vincent 14:09:55
唉!坑爹呀
[c#]petcon 14:12:51
要不要用这么萌的字体
[vb.net]PPYYFF 14:15:19
要,免得写代码时,无聊
[menxin][C#]menxin 14:16:44
字体不合口味?
[VB.NET]Vincent 14:17:51
妈的在对象浏览器中看不到。唉!又上当了。
[menxin][C#]menxin 14:18:58
你想看到什么
[VB.NET]Vincent 14:21:15
Autodesk.AutoCAD.Interop.IAcadDocument.save()
[VB&c++]阿华 14:22:21
他想看到注释
[VB.NET]Vincent 14:22:58
是的!
[menxin][C#]menxin 14:23:04
COM要是支持注释......
[VB.NET]Vincent 14:23:40
不然一些没有实现的,在那里费时。
[menxin][C#]menxin 14:24:32
呵呵,你应该相信autodesk,如果COM已经实现了,他不会吝啬database就不给你写
[VB.NET]Vincent 14:30:45
CAD的开发有时候真很无赖
从〇开始 14:31:14
[VB.NET]Vincent 14:31:45
要好几种开发语言来一起开发才是最好。
[C#]紫爱leslie 14:32:09
从〇开始 14:32:18
[VB.NET]Vincent 14:32:57
不是吗?
从〇开始 14:34:19
没这么高的见解
[VB.NET]Vincent 14:35:04
 楼主| 发表于 2013-11-13 15:29 | 显示全部楼层
[menxin][C#]menxin 15:29:42
要想从brep到的face得到region只能手动构造吧
[menxin][C#]menxin 15:30:21
通过faceloop的顶点
[menxin][C#]menxin 15:35:34
....
 楼主| 发表于 2013-11-13 17:10 | 显示全部楼层
[c#]plane 17:10:26
objectarx.net里能实现像CAD一样画线吗
从〇开始 17:11:21
当然能
[c#]plane 17:11:40
具体用什么类实现的 阿
请教了
谢谢
从〇开始 17:12:07
你先网上搜搜基础教程学习学习
你没基础的话不可能在这里说几句你就明白
[c#]plane 17:13:09
我不需要line ll=new line()然后设置结点
[c#]plane 17:15:17
就是到网上没有搜到啊,都是直接实力化添加的
[c#]plane 17:17:25
求解啊
 楼主| 发表于 2013-11-13 17:34 | 显示全部楼层
[vb.net]PPYYFF 17:34:35
objectarx太麻烦了
要有熟练C++功底
[yanbinyanbin88][C#]爱好者 17:35:01
速度快.
[vb.net]PPYYFF 17:35:18
不如用.net
现在电脑都足够快了,
[yanbinyanbin88][C#]爱好者 17:35:58
我们做规划的,图也越来越大的
Owen 17:36:03
其实如果cad有个脚本语言,像python一样,那就好了,
[vb.net]PPYYFF 17:36:24
而且cad2010以前要对应相应的VS才能开发
C#就和脚本差不多吧
据说CAD现在在做大数据处理
[yanbinyanbin88][C#]爱好者 17:38:06
一个地形图就上百兆的,吃不消的
[vb.net]PPYYFF 17:38:06
他们技术人员告诉我,他们能把一个28G的图处理成400M左右,可我还是有点怀疑
[yanbinyanbin88][C#]爱好者 17:38:30
28G什么图来的,
[vb.net]PPYYFF 17:39:16
不知道,我坐车时遇到他们技术人员,我就抱怨说他们不能处理大数据,他们说他们在做这方面研究
然后告诉我的
[yanbinyanbin88][C#]爱好者 17:39:43
你开发学了多少
多久
[vb.net]PPYYFF 17:40:15
买本书VBA就1个星期能很熟练
[yanbinyanbin88][C#]爱好者 17:40:29
哦,,好厉害哦,
我也是刚学的
[vb.net]PPYYFF 17:41:20
C#估计要大半个月,ARX估计要2个月以上而且还要有点C++经验,
[yanbinyanbin88][C#]爱好者 17:41:42
我学了一点VB,然后就转C#了.
[vb.net]PPYYFF 17:41:47
我看了下C#好多内容和VBA很相似,都是封装的调用
[yanbinyanbin88][C#]爱好者 17:42:19
是的
[vb.net]PPYYFF 17:42:40
买本才鸟的书,很容易上手的
[yanbinyanbin88][C#]爱好者 17:42:53
现在在看他的书呀,
不过有些做不过去,
[vb.net]PPYYFF 17:45:03
想做个简单等值线绘制,来分析有些数据,结果网上都找不到全的
[qqimg]201311/{5B9F67B3-D9B7-2D59-EAFA-F18353BABBD4}.jpg[/qqimg]
[yanbinyanbin88][C#]爱好者 17:45:46
我是一只菜鸟,  请问下大家,有CAD索引色转成RGB的函数吗
[vb.net]PPYYFF 17:45:47
找了些代码,写了出来,但是好像圆滑不好
[yanbinyanbin88][C#]爱好者 17:46:46
哇,你的好高级哦.
[menxin][C#]menxin 17:46:59
[yanbinyanbin88][C#]爱好者 17:47:19
求命 呀........
救命 呀
[vb.net]PPYYFF 17:47:41
毛,一般线段圆滑都是些论文,而有代码的好像总调试不好
[vb.net]PPYYFF 17:49:52
Dim Mycoler As Autodesk.AutoCAD.Interop.Common.AcadAcCmColor
这个就是能返回颜色的RGB
[yanbinyanbin88][C#]爱好者 17:50:48
我是用C#的
[vb.net]PPYYFF 17:50:56
Mycoler.Red,Mycoler.Blue
[vb.net]计件工 17:50:58
lisp就是cad中的python
[vb.net]PPYYFF 17:51:15
AcadAcCmColor
这个是一样的
[yanbinyanbin88][C#]爱好者 17:51:46
好的,谢谢了
[vb.net]PPYYFF 17:52:32
你搜一下对象浏览器看看如何用的
[yanbinyanbin88][C#]爱好者 17:53:10
[qqimg]201311/{1DB58133-964D-1498-BC29-0F40EFDF66FD}.jpg[/qqimg]
我引用的只有[qqimg]201311/{D2F7BEB5-86CE-CCB0-3E3B-9CB2F6BAC7FA}.jpg[/qqimg]
还要再引用其它的吗
[vb.net]PPYYFF 17:53:53
不知道
 楼主| 发表于 2013-11-13 18:16 | 显示全部楼层
[yanbinyanbin88][C#]爱好者 18:16:04
哦,好的,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-3 00:09 , Processed in 0.393919 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表