by adom
0402 SMD Green LED · 3.3 V drop · 25 mA max
master
John Lauer
LED colour pass: coloured STEP is the default (lens colour from the datasheet dominant wavelength, softened), plain STE…
b15ea53
20d ago
import sys
from OCP.STEPCAFControl import STEPCAFControl_Reader
from OCP.TDocStd import TDocStd_Document
from OCP.TCollection import TCollection_ExtendedString
from OCP.XCAFDoc import XCAFDoc_DocumentTool
from OCP.TDF import TDF_ChildIterator
from OCP.TDataStd import TDataStd_Name
from OCP.GProp import GProp_GProps
from OCP.BRepGProp import BRepGProp
from OCP.TopExp import TopExp_Explorer
from OCP.TopAbs import TopAbs_FACE
def info(p):
doc = TDocStd_Document(TCollection_ExtendedString("d")); r = STEPCAFControl_Reader(); r.SetColorMode(True); r.SetNameMode(True); r.ReadFile(p); r.Transfer(doc)
st = XCAFDoc_DocumentTool.ShapeTool_s(doc.Main()); it = TDF_ChildIterator(st.Label(), False); out=[]
while it.More():
l = it.Value(); it.Next()
if st.IsFree_s(l) and st.IsTopLevel(l):
s = st.GetShape_s(l); g = GProp_GProps(); BRepGProp.VolumeProperties_s(s, g); nm = TDataStd_Name()
n = nm.Get().ToExtString() if l.FindAttribute(TDataStd_Name.GetID_s(), nm) else ''
ex = TopExp_Explorer(s, TopAbs_FACE); nf = 0
while ex.More(): nf += 1; ex.Next()
c = g.CentreOfMass(); out.append((n, nf, round(g.Mass(), 6), (round(c.X(),5), round(c.Y(),5), round(c.Z(),5))))
return out
a, b = info(sys.argv[1]), info(sys.argv[2])
print('SAME' if a == b else 'DIFF', a, b)