Now if I want to make the window wider, I need to elongate the upper and lower objects, but the shape of the corners remains the same
If you use the method of setting scale, the bevel of the edge will be deformed
How to stretch, increase or shorten the length without deforming the corners to get a new combination of windows
Here the bevel of the object is a hollow shape, is it possible to identify all the points of the bevel to do inward or outward stretching, or is there any other solution to get a window with a length or width resized
The easiest solution may be to just split these shapes into 2 parts, and put them inside a Three.Group:
Group will allow you to treat the entire combination as a single 3D object. And when scaling, scale just the middle part, while only offsetting the corners based on the total object width.
I’d personally just prepare part A and part B in Blender. Code-based geometries are kinda hard to maintain over time.
You can place a transparent PlaneGeometry in front of “part B” and apply the logo on it (then just position the plane to be in the middle of the entire object width.)
(Small digress: if you’re familiar with react, consider going for react-three-fiber. (a) React components make it blissfully easy for you to do the calculations of scale and offsets based on the props you pass to the component - which in turn makes construction / configurator projects simpler and more predictable (b) r3f has drei decals - which once again, reduces all the texture / decal management to just a single line of code that can be applied on pretty much anything.)
Based on your tips, we have found a way to adjust the coordinates of all the points on the left side of the center point to the left, and the points on the right side of the center point to the right, if there is a logo in the middle, from the 20% position in the width direction do point coordinate adjustment left or right, thanks a lot for your suggestion