So the 2x2x2 chamfer fails in preview mode because the feature actually will fail.
Why? If it solves without realtime preview, then the geometry is perfectly good and within bounds to solve the chamfer. So, I would expect the preview to come to the same conclusion. I wouldn't even be questioning whether the chamfer should fail or not.
It fails, It shouldn't!
Does ACIS make it fail? Yes. We can ask them why, but it's not a "bug" of ours. I imagine it's a limitation, but it doesn't seem like it should be.
100% agree. If it is a limitation of ACIS, I'd like to hear that one!
Regarding the other "issue", the act of previewing progressively populated features can be destructive in that what you select in a previous selection can have meaningful consequences on the availability of other geometry. For example, in the selection of Edge<1> for a fillet, you may have inadvertently (via the realtime preview) caused Edge<54> to become <Edge 99> after a geometry change. Edge<54> is what you want to select, but it no longer exists. Edge<99> isn't a real edge yet in that the feature has not been committed, so preventing you from selecting it is important to prevent a time loop and have the universe explode.
The edge may look the same to you, but in reality it may not be the same. In some cases, it's obvious when interrogating the geometry; in some cases the reasons are more subtle.
This is not a bug, it is a consequence of doing realtime previews. There are technical ACIS and autograph reasons why some geometry becomes unselectable. Realtime previews are good in a ton of cases, but they aren't perfect for every case. Toggling preview on and off as needed is the way it was designed to be used.
I'm looking at this as a developer and as a user, and as a developer it makes sense as described (but very fixable), but as a user it's just a frustrating annoyance that shows as a 'problem/bug' with realtime previews.
Developer head : So if after a geometry change, Edge<54> has become Edge<99>. So, why is there now a mismatch for the between the UI (Edge<54>) and the current geometry data structure (Edge<99>) for the 'same' edge? Why isn't the edge on the UI (which is the one the user wants to select, now not referenced as Edge<99>? Is that a consequence of not updating the UI in line with the geometry data (for whatever reason!). Not sure why a 'time loop' is a factor here, but do you mean syncing the UI with underlying data? Do you actually mean potential circular dependencies? (which can be checked for and prevented)?
I would argue that, regardless of what the underlying 'index' of the edge is (due to being changed by altered by the realtime preview), there is still a visible edge shown and to me as a user it
should be selectable. Now, I don't know if that's because of a shortcoming inside the ACIS or Alibre code, for whatever reason, but
as a user that's a puzzle the developers need to solve.
It's not unsolvable! At present it doesn't look good from the users perspective and just looks broken.
Strangely, if I select the edges of that opening (or other situations when it manifests itself) in a different order, then they are all selectable, so they are solvable!