-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Description
Describe the bug
I have a test data of three blocks. See attached image.

I used the following code to compute the interface:
assembly_interfaces_xfunc = XFunc('compas_assembly.datastructures.assembly_interfaces_xfunc', python='C:\ProgramData\Anaconda3\envs\compas_assembly\python.exe')
data = {'assembly': assembly.to_data(),
'blocks': {str(key): assembly.blocks[key].to_data() for key in assembly.vertices()}}
result = assembly_interfaces_xfunc(data)
assembly.data = result['assembly']
I expected Interface 1-3 (marked in red) to return all the intersecting faces between the two blocks.
Or is this function designed to only return one face pair?
I digged ito the code of compas_assembly/datastructures/interfaces_numpy.py
But I couldn't understand the code logic, so maybe I'll ask here.
I also looked into paper Data management and modelling of complex interfaces in imperfect discrete-element assemblies but there wasn't any mention of the code behaviour
To Reproduce
Steps to reproduce the behavior:
- Win 10 64 bit, Rhino 6
- Sample script attached. Run file 02 and then run 03 inside Rhino Python env.
InterfaceRhinoPython.zip
Expected behavior
I expect all of the intersecting faces to be return.
Metadata
Metadata
Assignees
Labels
No labels