lxCreateSynchronousClonesFromFigGroups
lxCreateSynchronousClonesFromFigGroups( (figGroupList) [dumpConsistencyCheckMsg] [dumpNonClonableFigGroups] ) => t / nil
Description
Creates a new clone family from a list of basic figGroups. When the clone family is created, the function runs the Clone Consistency Checker to verify that the figGroups are effectively synchronous. The checks that are run include verifying that the figGroups are identical, which means their shapes exist on the same layer, instances belong to the same master, and have the same relative position, and so on.
Arguments
Value Returned
|
The specified figGroups in the figGroup list are grouped in the syncClone figGroup to create a new clone family. |
|
|
Error with |
Additional Information
During the Clone Consistency Check, the checker may do one of the following:
1) Keep all the figGroups in the clone family when they are all found to be identical. In this case, all the figGroups have their type changed to "syncClone".
2) Keep part of the figGroups in the clone family. Identical figGroups get their type changed to "syncClone", other figGroups are removed form the clone family and kept as basic figGroups of type "none".
3) None of the figGroups are retained because all the figGroups are found to be different. In this case, the clone family is destroyed and all the figGroups are kept as basic figGroups of type "none".
4) Identify subgroup of the identical figGroups. In this case, the original clone family is split into several clone families. Each family gathers a set of identical figGroups. Each figGroup belonging to a clone family gets their type changed to "syncClone". Other figGroups that are not identical to any other figGroup are kept as basic figGroups of type "none".
Example
figGroupList = deGetCellView()~>figGroups
(db:0x29687b9a db:0x29687b9b db:0x29687b9c db:0x29687b9d db:0x29687b9e
db:0x29687b9f db:0x29687ba0
)
>
figGroupList~>type
("none" "none" "none" "none" "none"
"none" "none"
)
>
lxCreateSynchronousClonesFromFigGroups(figGroupList)
t
>
figGroupList~>type
("syncClone" "syncClone" "syncClone" "syncClone" "syncClone"
"syncClone" "syncClone"
)
>
=> Gathers all the identical figGroups of the opened cellView into clone family.
Select few figGroups in the layout cellView, then
figGroupList = geGetSelSet()
(db:0x29687b9b db:0x29687b9c db:0x29687b9a)
>
figGroupList~>objType
("figGroup" "figGroup" "figGroup")
>
figGroupList~>type
("none" "none" "none")
>
lxCreateSynchronousClonesFromFigGroups(figGroupList t)
INFO (LX-1350): The synchronous clone consistency check is running.
INFO (LX-1368): The inst (db:0x2968de1c) in clone "cloneFamily0_0" and the inst (db:0x2968de1e) in clone "cloneFamily0_1" are different.
INFO (LX-1362): Clone 'cloneFamily0_1' has been removed from family 'cloneFamily0' by cloning consistency check.
>
hiDBoxOK(lxCCCWarnPanel)
t
t
>
figGroupList~>type
("none" "syncClone" "syncClone")
>
Return to top