I'm 4 years behind on this topic. But, I've NEVER seen an option for creating a macro or script. Such would save me hours.
Visualize a ship or a building, and you have to replicate at some marked intervals a sweep rail and generate two surfaces.
In the case of a ship hull, an in my case, the bow is to the left. I have some 20 control point splines that govern the shape of the hull. As a human, I intuit I'll pick the Guide Skin Surface Tool, then select from left to right (bow to stern) or right to left (stern to bow), and not do any random selections. (The Fence Mode of selection results in unusable geometry, and sometimes can take minutes to half an hour or longer to restore availability of the mouse or features.)
Suppose, now want to create shell stiffeners (these would have compound curvature, as in 2+ directions).
You'd draw a profile of say 16cm by 8cm in the shape of a "T". That's your Web and Flange basis. Now, you need length of it from some Z level above the baseline upward to the Top Deck or some level for some distance imposed by engineering.
From experience in trying this I erroneously started from the centerline of, at the keel, and created lots of unnecessary trimming and ACIS error issues for myself.
Recently, I learned to split all the hull-shell-shaping splines at the Tank Top so the sweep stops before entering the rounded bilge area. It's a compromise since I having figured out how to tell Shark to only sweep to a specific distance down a curve and not below it. So, of you're sweeping the Profile to form a surface or solid of a flange, and the Tank Top goes from keel up to about 2 meters above baseline, but you want continuous curvature/smoothness or G3 curvature, this would be convenient. If the Tank Top is at a consistent 2 meters ABL, Shark could ask for the lowest Z, and you'd enter that. Then, no matter the sheer or camber, and no matter whether you prefer to sweep that profile from Top Deck to Tank Top, or vice versa, Shark would do it without complaint.
Since I have a 560-foot ship, and shell stiffeners are roughly every 4-8 feet, that's a LOT of profile sweeping by hand, almost an hour just to do those. If Shark had a macro tool, that hour would be cut down to about a minute for me, once invoked. Even if creating the geometry takes 15 minutes due to graphics, that 15 minutes I could spend reading instead of hunting and zooming and clicking and inspecting and repeating.
Since I have some 14 compartments and 4-6 stiffeners, that's around 80 surfaces or surfaces plus solids which then have to be trimmed, and then have to be mirrored after the parent side is trimmed.
But, if (and it's always the case that) I have to edit the hull, that whole hour is gone. Now, think about the horizontal stiffening. If the design intent is to break the stiffening at the bulkhead, then, with 14 compartments, and with maybe 4 of these per deck level, and given some 5 decks plus the inner bottom/keel, that's 20 of those in each compartment, then replicated for the other 13 compartments.
Now, instead of what is in the macro PDF, my idea would be something like this:
1. (person) draws and fine-tunes the 10-25 Control Point Splines representing the bow shape, the sideshell shape, and the shape of the transom
2. (app) creates the surface by using the Guide Skin Surface Tool, looking at and starting from X=0 and sensibly picks up each surface-shaping CPS and adding to the pick-up list. The guide curve can be the centerline curve that defines the bow shape.
(For me, it sometimes seems faster than the regular Skin Surface Tool)
3. (app) looks at the G3 continuity or lack thereof and the user accepts or calls up the Porcupines to bring the half-breadth shell pieces to tangency
(I tried the mesh-derived boat hull video Tim made, but I stuck with input curves because despite the extra work, I'm more comfortable with using them, despite some negative tradeoffs (reverse curvature in the surface, and inability to thicken a hull where invisible twists/reversals happen, caused by me) that take days to weeks to fair.
(I can't find any existing tool for Porcupines, akin to those in FreeShip/DelftShip and other ship-designing tools where tangency is paramount. The Verify:Curvature/Show Curvature Circle eludes me in this regard)
4. (person) defines the planned height of the Tank Top or inner bottom
(this being to tell Shark that the existing curves are future sweep paths, and therefore the user need not have one set of curves for shaping the hull, and another for defining the sweep path, and then throwing it all away if some unacceptable unfairness is discovered or the beam or length need to be inevitably changed.)
5. (person) With a hull shell deemed OK to use, the user defines where bulkheads are, thus forming compartment boundaries, drawn by placing vertical lines or splines at hand-waved intervals or points calculated a Floodable Length Curve. These would be paired as the forward and aft faces, or the plate thickness of the bulkhead. Or, as surface can be created between them and the surface projected as a solid. Doing his from the Tank Top rather than baseline keeps the geometry simpler, and this took me years of solitary exploration.
(The actual projection of these curves from centerline or from a point outside of the full beam could be automated by a macro. This would save me hours of trial and error/revision.)
6. (person) creates Profiles, of T-shape, the I being the web, and the - being the flange, oriented parallel to the Tank Top, and translate-copies or just moves the one sample Profle's non-flanged side of the web to intersect the upper end of the CPS
7. (person) uses the One Rail Sweep Solid or the One Rail Sweep Surface tool to "teach" Shark to make a repeat of the sweeps
8. (app) learns, as above in (5) to create geometry or solid, and then repeats this for each bulkhead
9. For stiffeners (running vertically), the user really is quadrupling the number of stiffeners as the number of bulkheads, except the stiffeners don't cross the centerline.
10. Similarly, horizontal stiffening uses a similar, but rotated, and smaller, T Profile.
11. Similarly, deck underneath stiffening could be created.
12. However, if, after creating all this stiffening, the hull needs a tiny, tiny change due to unfairness, or if a hole is drilled into the hull for passing ports, or anchor pockets, or such, all those stiffeners get dragged into calculations. Some events took 1h 40 m just to end with an ACIS error, then almost as much time is spent reversing.
====================================
My Inefficiencies Create My Own Problems:
Saving, under these conditions, can take my computer 3-7 minutes. Saves this long work as a painful deterrent to the adage "save, and save often". Saving every 10 minutes means 6 saves in an hour would eat 18-40 minutes. In a paid environment, this would be unacceptable. But, for now, for me, this is a hobby, one which I wish would be better as I'd surely champion and evangelize. But, a limited layer system, some geometry creation limits, and long save times, and semi-cumbersome External References make me sad. External References are not a substitute for limited layer functionality. Several times, I've tried but found I didn't want to have multiple files feeding into my main drawing. If I move folders or rename files, or create too many side-stream edits of a former-reference, I get bogged down de-tangling the mess I make.
=====================
I Abuse the Layer Limits:
I must admit that I read that Shark has a limit of around 1,100 layers. I don't know if it crashes after that point, but I'm sure I have well over 2,000 layers. 20% of them are junk layers containing trees I can't get rid of because they are sub-sub-sub-sub layers that cannot be moved up. With multiple "twigs" (curves, surface, solid, text notes) hanging from each layer, that is for me and exceedingly, unfair-to-ask level of work to move geometry to a new "home", recreate all the needed sublayers, rename them, then keep hunting up and down the trees, praying I don't operate on a similarly-named layer.
What the Concept Explorer needs (what I need) is a "tear-off" CE that synchronizes or offers drag and drop from one deep-nest area to a new position. Side-by-side is a lot more efficient than scrolling/crawling up and down, getting lost...
As for the:
"Layer Move Error
! Layers cannot be moved outside current nested level.
I get these even when while attempting to move a layer, I have no visual indication of initialization of a move. Shift-Click-Drag is fraught with inexactness for me, and sometimes, the move outline appears, and sometimes it doesn't, even if the move I want ends up happening.
An alternative could be a way to invoke layer management, then specify with X marks in a box the layers to be picked up, and an empty box denoting to where to deposit files. This could speed up layer reorgs by maybe 80%.
========================================================
I Need to Learn to Get Over Lack of Porcupines for Fairing Purposes:
See higher up above.... in numbered para 3.
============
Select Mask:
Similarly, the Select Mask could use some "oompf". If during selection, the Ambiguity Popup makes offers, it would be nice if the corresponding layer would be highlighted in the CE and the SM so the user can be certain that the desired part or geometry is on the layer the user really wants to affect. Sometimes, I just sit 10-20 minutes mentally struggling over what to do about layers. At least 3 times in the past 5 years, I started from scratch, then descended into doing imports, then moving things around, ending up back in layer-limitation hell.
In the same area, the Select Object pop-up should be resizable to deal with long layer names. I have to create crazy-long layer names to combat the lack of layer dragging-dropping power. If I have duplicated geometry existing on parallel-structure layers, it's confusing, and so I have to sometimes add "xxxxx" or "VVVVV" on random layers in the CE to try to get the Select Mask to confirm I'm not "too" crazy.
=============================
Select Mask and Concept Explorer:
It would be nice if the SM and CE allowed "tags" so that if in one session I NEED to focus on what might be 25 minutes of work, I can do so with less scrolling. Once I get lost, I need to accept that I'm going to be on a detour of my own making. One scenario for using tags would be: Select a region; give it a tag; have the tag appear on an auxiliary helper palette adorned with date/time of creation, with an optional note for why one created it. These could then later be made able to offer views, or to do walk-throughs. (I still have not gotten to using the FX Walk Through, Fly By, Paths, and other things because I've not even finished the geometry "world".
=================
Drag and Drop Idea:
It would also be nice if TWO instances of licensed Shark could be open, and I could drag from one CE into the other instance's CE a whole set of geometry, or use check-boxes, without being told of name collisions (just suffix them and flag with a color code) or being forced to import to a new, unnecessary sub-layer at the top of the branch/tree.
===================
Still Hooked on Shark:
Honestly, at this point, I have to say that I still like the simple, non-overload factor of the Shark/VC UI. I years ago had too much stress with AutoCAD, and when I tried TurboCAD, it felt too much like ACAD. As did 3 or 4 other knock-offs of ACAD. I've also been exposed to several naval architecture CAD apps, and they are like a combination of AutoCAD and Rhino, and they have far more than I want or need, and there's no acquiring at a price below $800 AND being not a student and being allowed to do commercial or pre-commercial work. I must say that Rhino is VERY fast with shaping my hull (I tried a trial in 2017), but the UI is too ACAD-like for me. Even though I sorely want Shark to have multi-letter shortcuts, and it seems it will NEVER have them, other apps having them is not enough to make me leave Shark.
Something I really like about Shark (and from my Pre-Shark days, VC/VCP) is that I can enter either metric or English units in the entry box. AFAICR, in my AutoCAD days (before 2013) and in trialing some other CAD apps, the user cannot mix and match units in their dialogue entries. The user has to go into the settings area and chane them. To me, that is tedious and impositional. So, for me, though I draw my ships and some parts in meters and other metric units, certain things on a smaller scale work in inches for me, and then I convert the oddball inchh values to some simpler metric value.
But, because of stress I DO have do to limitations in Shark, I ended up sketching IN Shark a virtual UI that could make ship design far easier than in either Shark or in some if not most of the very expensive ship design apps. I would not go for "design for manufacture" to the extent they do, but I'd leverage virtual layer frames on-screen with the tools Shark already has, plus a few things from FreeShipPlus/Hydronship, of he year 2008-2013 variety, or up to v3.5 (and not the apparently partially-forked/abandoned, incomplete 3.53 effort from ~2014).
This UI I mocked up has not been seen by the public, nor by anyone else. I'm afraid no one will take it seriously and actually commit to taking it to Beta and letting it actually LIVE, and I'm afraid that if any developers liked it, they wouldn't want to look at it without the option to take it away and shut it down.
=======