Rebuild and sub-objects

Use sub-object selection to _Rebuild this surface:


2024-07-22_RebuildKills.3dm (150.9 KB)

The result is a mess.
Sub-selecting a part of polyline plays well with _Rebuild.

1 Like

This appears to be the concequence of a change from V7 to V8.

V7 does not allow rebuilding of surfaces withn polysurfaces. In V8 the user can select one or more surfaces within a polysurface for Rebuild. (Sub-object selection using Ctrl-Shift is not required. The surfaces for Rebuild can be selected directly.)

I am not surprised that rebuilding a surface within a polysurface causes problems. When rebuilt the edges of surface will usually change shape. Exception is straight, untrimmed edges. For the polysurface to remain a polysurface the corresponding edges of adjacent surfaces must also change shape to stay within tolerance of the edges of the rebuilt surface, which in general requires fundamental changes to the adjacent surfaces. The exception is straight edges.

For this example it appears that the code attemptsto modify the adjacent half toroldial surface so that its edges continue to match the rebuilt surface. The result is certainly a mess, and also a bad object.

My guess is the ability to rebuild surfaces within polysurfaces was implemented in V8 as part of the direct modeling enhancements, which appear to have been intended for objects with generally planar surfaces

Edit: Rebuild of a surface of a simple block in V8 also creates an obviously incorrect result.

That makes sense. Rebuilding a curve segement or line line segment within a polycurve or polyline was previously available. The requirement for a curve segement or a line segment to remain part of a polycurve or polyline is simply the end points of the line or curve must not move. Rebuild does not change the end points of a curve or line so no problems.

1 Like

Examples of Rebuild on a single surface of a polysurface. Rebuild results in front. Original polysurfaces behind.
Rebuild Polysrf Mess.3dm (2.1 MB)

Rhino 8 SR10 2024-7-16 (Rhino 8, 8.10.24198.10001, Git hash:master @ d072942eb9b3f7770627185ed07438021b7d8341)
License type: Commercial, build 2024-07-16
License details: Cloud Zoo

Windows 11 (10.0.22631 SR0.0) or greater (Physical RAM: 64GB)
.NET 7.0.20

Computer platform: DESKTOP

Standard graphics configuration.
Primary display and OpenGL: NVIDIA GeForce RTX 2080 Ti (NVidia) Memory: 11GB, Driver date: 12-6-2023 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 546.33
> Accelerated graphics device with 4 adapter port(s)
- Windows Main Display attached to adapter port #0

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 12-6-2023
Driver Version: 31.0.15.4633
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 11 GB

Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 8\Plug-ins\Commands.rhp “Commands” 8.10.24198.10001
C:\Program Files\Rhino 8\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 8\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 8.10.24198.10001
C:\Program Files\Rhino 8\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 8.10.24198.10001
C:\Program Files\Rhino 8\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 8\Plug-ins\MeshCommands.rhp “MeshCommands” 8.10.24198.10001
C:\Program Files\Rhino 8\Plug-ins\RhinoCycles.rhp “RhinoCycles” 8.10.24198.10001
C:\Program Files\Rhino 8\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 8.10.24198.10001
C:\Program Files\Rhino 8\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 8\Plug-ins\Displacement.rhp “Displacement”
C:\Program Files\Rhino 8\Plug-ins\SectionTools.rhp “SectionTools”

1 Like

Probably the bug is just the fact that you can select surfaces of a polysurface.

RH-83079 Rebuilding surface in a polysurface make the object(s) go haywire

2 Likes

I’d expect the single surface is rebuilt and the other polysurface parts remain untouched.

1 Like

As I explained above if “the single surface is rebuilt and the other polysurface parts remain untouched” then in general the edges of the rebuilt surface would would be out of tolerance with adjacent edges of untouched surfaces.

Sure, that’s clear and expected.

This wish was not fulfilled, but it is not important.
Perhaps extracting the srf to rebuild is a more clear workflow.

So in SR11 the Rebuild issue is fixed.