Initial commit: RHINE LAB · ANALYSIS OS:三维界面与动效实验(本仓库不含个人归档索引数据)

This commit is contained in:
WpyQwq
2026-09-19 13:04:56 +08:00
commit 3f422218a5
1098 changed files with 39410 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
# Detail reconstruction from the clear 40–42 second reference.
# Executed by build_archive.py in the same scene; assembly uses this identical source.
# All dimensions below are BEFORE the shared x2 thickness bake.
from pathlib import Path
obsolete=('Embedded optical cavity','Subsurface refractive shoulder','Inner optical bevel',
'Concentric optical machining','Embedded amber annulus','Moulded circuit channel',
'Moulded inner perimeter','Moulded vent footing','Laser etched vent',
'Calibration mark','Edge inscription','Engraved circuit trace')
for obj in list(scene.objects):
if obj.name.startswith(obsolete): bpy.data.objects.remove(obj,do_unlink=True)
emboss=material('Moulded_Lettering',(.81,.786,.75),.24,.13)
architecture_script=Path(ROOT)/'art/internal_architecture.py'
exec(compile(architecture_script.read_text(encoding='utf-8'),str(architecture_script),'exec'))
# Rebuild the moulding from normalized positions on the complete 41.0-second face.
def face_point(px,py):return ((px-432)/1022*5-2.5,(1018-py)/676*3.7)
def mould(name,pixels,depth=-.074,radius=.004,mat=core):
return channel(name,[face_point(x,y) for x,y in pixels],depth,radius,mat)
shell_script=Path(ROOT)/'art/shell_reference_details.py'
exec(compile(shell_script.read_text(encoding='utf-8'),str(shell_script),'exec'))
# Fine, lightly recessed rectangular backing routes, beneath the ring structures.
for route in [[(681,470),(681,899),(1061,899),(1061,821),(1310,821),(1310,464),(1028,464),(1028,406)]]:
mould('Information substrate fine route',route,.014,.0018,core)
# Embossed vertical company inscription belongs to the inner cover, not the ink label.
inscription=text('Moulded vertical lettering','RHINE LAB, LLC.',0,0,.155,emboss)
# Text baseline follows Blender local X; rotate it down the left edge in the X/Z plane.
inscription.location=(-2.27,-.078,2.29)
inscription.rotation_euler=(math.pi/2,math.pi/2,0)
inscription.data.extrude=.003;inscription.data.bevel_depth=.0015;inscription.data.bevel_resolution=1
inscription.data.space_character=1.10
# Two small registration pads under the floating tabs.
for x in [-1.61,-1.45]:cube('Information substrate registration pad',(x,-.029,.53),(.014,.009,.038),gold,.002)
# Lower-right circular service detail with a slanted slotted rail, seen under haze.
px,pz=face_point(1312,923)
for radius,depth,mat in [(.145,-.070,optical_edge),(.120,-.065,core),(.083,-.072,optical_edge)]:
torus('Moulded service socket',px,pz,radius,.0055,mat,depth).scale.z=.45
annular_profile('Moulded service socket center',px,pz,[(.021,-.040),(.043,-.040),(.048,-.060),(.035,-.074),(.021,-.068)],gold,32)
for i in range(11):
x=1.03+i*.063
channel('Moulded diagonal vent',[(x-.035,.38),(x+.030,.53)],-.075,.008,optical_edge)
channel('Moulded diagonal vent recess',[(x-.029,.38),(x+.036,.53)],-.071,.003,core)