nobody 发表于 2015-7-11 20:18:10

Clone() DeepClone()

clone() 和 DeepClone() 有什么作用?在开发人员指南中找不到任何内容。
**** Hidden Message *****

Kerry 发表于 2015-7-11 23:19:44


来自arxdev.chm

nobody 发表于 2015-7-13 20:43:15

谢谢克里...“复制”中的“克隆”?这适用于autocad中的任何实体吗?

Kerry 发表于 2015-7-13 20:49:09


我不熟悉细节...我需要做一些研究并运行一些测试。

Atook 发表于 2015-7-14 01:34:34

外星人,我对克隆/深度克隆目的的理解是创建对象的副本。克隆将只包括双精度、整数、字符串等简单属性。深度克隆将包括也是对象的对象属性(顶点、扩展数据等)
Polyline thePoly = myPolyline;
Polyline newPoly = myPolyline.deepclone();
多边形只是对myPolyline的引用,对多边形所做的任何更改都将影响MyPolylline
newPoly是一个新项目,您可以更改和操作newPoly,而不影响MyPolylene。我没有使用这两种方法中的任何一种,但我认为您需要将newPoly添加到模型空间中,才能将其实际放入图形中。

nobody 发表于 2015-7-14 08:44:28

在克隆操作中,如果它的一个属性是一个类,它将只是复制一个指向对象位置的地址指针。
在deepclone中,它将跟随指针创建一个全新的对象,并将其属性设置为指针,该指针是对象的新副本。

Kerry 发表于 2015-7-14 09:03:17

跟进Jeff的回复。如果我在其中一个垂直方向克隆一个对象,则不会克隆任何对象样式。但是,如果我深度克隆它,它也会复制与该对象关联的任何样式。例如,在AutoCAD MEP中,它将复制附加到对象的任何属性集,并确保它们也都在新对象上。

Kerry 发表于 2015-7-14 10:58:08

根据Keith的回答,我想在AutoCAD的术语中,它有一点不同,当在图纸之间克隆时,它必须遵循硬指针并将它们复制到图纸中,并且在同一图纸中,它不会真正进行深度克隆,它会克隆一个实体层,但会进行浅克隆。

Kerry 发表于 2015-7-24 01:45:33

感谢所有的信息窥视。谢谢你
页: [1]
查看完整版本: Clone() DeepClone()