📜  复制元素发电机 revit - Python 代码示例

📅  最后修改于: 2022-03-11 14:46:57.057000             🧑  作者: Mango

代码示例1
import clr
import sys
import System
from System.Collections.Generic import List
# all imports and some code
# ...
# ...
# ...
# current_doc = ...
# ...

class CustomCopyHandler(IDuplicateTypeNamesHandler):
    def OnDuplicateTypeNamesFound(self, args):
        return DuplicateTypeAction.UseDestinationTypes

souceDoc = UnwrapElement(IN[0])
myElements = UnwrapElement(IN[1])

copyOptions = CopyPasteOptions()
copyOptions.SetDuplicateTypeNamesHandler(CustomCopyHandler())    

# start transaction 
TransactionManager.Instance.ForceCloseTransaction()
TransactionManager.Instance.EnsureInTransaction(current_doc)
myElementIds  = List[ElementId]([x.Id for x in myElements])
newCopyElementIds = ElementTransformUtils.CopyElements(souceDoc, myElementIds, current_doc, None , copyOptions)    
# rest of code 
# ...
# ...        
TransactionManager.Instance.TransactionTaskDone()