A:动态块
怎么用纯代码的方式新建一个动态块.
B:协同cad
首先利用局域网通讯可以实现协同,
例如我利用Socket实现过一个功能,在A电脑的CAD画图,B电脑的CAD就跟着画出来.
然后实现的过程有个问题是,如果传数据来的时候,用户还不能操作CAD,数据读出读入时候需要锁就对了.
这个问题就要利用类似通知的方法来异步实现,也就是你不画图的时候自动根据队列载入,或者你点"载入"时候才载入.
到此为止都很容易实现.
那么关键的问题来了: 人家的图元应该是人家的,你没有更改的权限,如果要更改,需要通知对方.
唉!...这不是revit嘛!
对!...这就是revit的协同功能...所以要引入"权限"的概念...
如果是普通cad图元,建议你放弃,除非桌子加一个"用户"的功能,并且修改大量的自带命令,阻止非当前用户修改.
但是cad的二次开发也极难实现,而唯一可行的是,例如天正那种利用自定义图元加一个属性,覆盖掉所有普通图元,并且完全覆盖掉cad原始命令.
这虽然可以实现,但是工作量很大,并且如果出现普通图元,那么怎么办?
而非自定义图元虽然也能够通过xdata或者词典数据验证从而实现,
不过实现的情况是,国内有大量的lisp插件,虽然说覆盖cad原始命令可以处理一部分,但是lisp如果可以删除这部分图元,那么表示这个"权限"脱钩了.所有图元将会变成"你的"....
所以根本实现的方法也只能寄望cad的原生去实现.
关键是,cad插件上面,没有哪家公司收入可以跟天正比拟的了...
而更关键的是,国内cad厂商他们的协同是根据git一样的奇葩思维,所以国内cad厂商可以在这方面发力....
不过,之所以国内cad厂商不给力,主要也因为cad市场已经由大量的桌子用户形成.
加上...桌子的二次开发的API提供和帮助方面已经超越了任何国内cad公司....
桌子还要求开发者写博客与二次开发们解答问题呢....
我的博客也已经写了大量的关于浩辰的net端的bug....提供了端口但是端口是无效端口之类的....
我虽然没有用过中望的二次开发,中望在net方面的提供听聊天群说比浩辰好,但是中望的绘图界面实在是试试就放弃....
(完)