gdbaldw / BlenderAndMBDyn

Combines Blender's graphical interface and rendering capabilities with MBDyn's multi-body dynamics, aerodynamics, and aeroelastics simulation and analysis, for rapid modeling and realistic rendering of physics based multi-body simulations.
GNU General Public License v3.0
25 stars 13 forks source link

added tooltip to matrix edit in const elems #4

Closed louisgag closed 9 years ago

louisgag commented 9 years ago

Tiny change once again, I spent some time trying to understand the code. I have two suggestions:

  1. when creating a constitutive, for example, I would allow editing the matrix right away after created the 3D/6D law.
  2. when creating an element which requires a drive, such as a force, I would give the option "New Drive" in the drop down menu which may be confusing for someone who doesn't know that a drive should be created before. Thanks again for your steady updates Doug, -Louis
gdbaldw commented 9 years ago

Merged. Regarding suggestions:

  1. A) Edit is allowed by pressing the select button, its just not the default. If it were default, the following should be considered. B) A user might create an identity 3x3, name it "eye", and reuse it frequently. In that instance, having "eye" pop up for edit each time used would be unnecessary. C) When several matrices are used in a new element, having them all pop up can be confusing, as to which pop up refers to which matrix. If the same matrix is used repeatedly, it would pop up repeatedly.
  2. As I recall, the drop down list cannot be updated during the dialog, which is why I decided to automatically create a default unit drive. We could choose another default, but I believe having the ability to create a drive while creating an element is technically difficult if even feasible. Thank you. -Doug
louisgag commented 9 years ago

Dear Doug, Regarding your responses.

  1. For me the edit button doesn't show up when creating a constitutive with a new matrix. ex: constitutives -> + -> linear elastic -> 3D,6D -> no select button visible and then when I click ok nothing pops-up.
  2. I would vote for having the whole list of currently available drives followed by a list of "new drive name" in the drop down-list. This could then call the actions performed when creating a new drive manually from the drive panel "+" button and automatically associate it to the element in question. This seems to me like a non-structural change to the GUI that should be fairly easily implemented. The only pain would be to have a function that links the drive to the element before the drive is created, but I assume that some simple hack should be able to handle that. Thanks to you, -Louis PS: should we continue discuss code here in github or on the GSoC group?
gdbaldw commented 9 years ago

Dear Louis,

  1. Linear elastic has no matrix; the stiffness coefficient is constant in all dimensions and directions. Linear elastic generic has a 3x3 Matrix in 3D and a 6x6 Matrix in 6D. ex: Constitutives -> + -> Linear elastic generic -> 6D. -> button ("Edit the stiffness matrix") -> OK. 6x6 pops up.
  2. I agree, cast the same vote, and appreciate your technical reasoning. I'll relook to try finding a solution. In general, discussions here will persist forever with the code. Perhaps we should consider Groups as more of a marketing forum, trumpeting major milestones... Regards, -Doug
gdbaldw commented 9 years ago

Regarding pop-ups. The fundamental issue is that new pop-ups are pushed onto a stack and deferred until the current pop-up dialogue is complete. Edits and new entities, if we had them, occur after pressing OK for the current pop-up, and their occurrence is in reverse order. When many of these pop-up edits occur after the fact, their relationships are unclear. For example, Element -> + -> Total joint; this has 6 drives. By default, the drives are all Unit drive. If we could add the option to create a new drive for each, the user would have six new pop-ups, and it would not be immediately clear which drive applied to which "slot".

The natural workflow, as you suggest, is that when New is selected, a New pop-up immediately appears and is completed before continuing on with the Total join. Unfortunately, Blender has hardcoded into the API that new operations are pushed onto a stack for later dialogues, and we have no ability to create a new drive while creating or editing the Total joint. The workflow is constrained such that the user either pre-defines drives, or upon creating a Total joint recognizes that new drives are needed, subsequently creates them, and then returns to edit the Total joint and selects the appropriate drive for each "slot".

I've initiated an effort to build support for a nested pop-up feature: http://blenderartists.org/forum/showthread.php?377543-Nested-Operations-Feature-request&p=2912636#post2912636 We shall see if this gains any traction.

-Doug

gdbaldw commented 9 years ago

I stand corrected. I've learned how to do nested popups to provide all the control we want. Will take some time to implement.

louisgag commented 9 years ago

Very nice. -Louis