www.recumbents.com - Shell Design Software
www.recumbents.com
www.recumbents.com
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
 All Forums
 www.recumbents.com
 Technical / Bike Building
 Shell Design Software
 New Topic  Reply to Topic
 Printer Friendly
Previous Page | Next Page
Author Previous Topic Topic Next Topic
Page: of 23

shooky56
recumbent guru

USA
545 Posts

Posted - 01/08/2015 :  20:29:27  Show Profile  Reply with Quote
Thanks Steve.

So you ran Blender from a User end (not a programmer) and did 3D animation? I'll have to look at Blender again (still have it on this machine). But yes it is those clearances that worry me most.

Don't think my purchased CAD tool does human modeling but I'm no expert. Probably modeled 10 or 12 parts for CNC cutting and all several years back.... 2008 or 2009 maybe.

Go to Top of Page

Speedy
recumbent guru

USA
883 Posts

Posted - 01/09/2015 :  09:16:51  Show Profile  Reply with Quote
have you seen this ?
http://www.bikecad.ca/

I'm an end user not a programmer
Software use depends on the project or who I'm working with.
One group only uses SolidWorks the next group will use Autocad.
My favorite is Siemens NX. A little bigger learning curve but it does a good job across the board. It has a fully definable human model and a really good CAM package. Each software has strong and weak points.
3D printing is bringing along a whole new age of software packages and things to explore.
They all have trial periods.
All Autodesk products have a one year student license. Everyone can sign up.


Steve Delaire

http://molten3d.blogspot.com
Go to Top of Page

shooky56
recumbent guru

USA
545 Posts

Posted - 01/10/2015 :  13:20:22  Show Profile  Reply with Quote
Roger that Steve, appreciate all the feedback.

BTW, I took a look at the STL format again (I had studied it in detail circa 5 weeks ago but had forgotten particulars as it was one of several I studied). Mostly I looked at it as an output form to hand over to industrial (5-axis) router software because stl is a "nearly universal" exchange medium.

STL input for animation would required "posed" shots much like Gumby animation. STL doesn't contain "bone data" needed for auto-animation (bones define which triangles comprise the arm and how the arm connects to other groups).

Animation isn't required. A couple rider poses at extreme protrusion angles would surely suffice. If the user provided two or three poses: (1)heel lowest (2)Toe highest and (3)Knee highest, that would probably do it.

Finally got all the bone vertexes separated out correctly, although it took a week most of that work was "I've got to clean this up" more than the actual work. 7000 lines of code and well over 100 support files (definitions, icons, etc.) so far.

Next work is the body builder. Starting with the foot as that's the most complex. Length, width, height, cleat to ankle placement, center angle to shin bone (center being the center angle for ankling) and ankling amount. All that needs to be considered. All the other body parts will be easy after that.

Go to Top of Page

shooky56
recumbent guru

USA
545 Posts

Posted - 01/16/2015 :  19:39:03  Show Profile  Reply with Quote
It's probably hard to tell from my posts that I really try to just "show you the baby" for this but just letting everyone know I'm still working on it. Started to make the rider designer and changed how I was going to do it several times. Every time I thought about a different way, my animation calculations were going to sink and I would have to redo them all from scratch.

So I started a new helper project (this is number 8 so far) where all I did was solve the reverse kinematics for pedaling in a much more robust method than I had used prior. My prior had some problems. For animation you can have two <something> at a joint location. I had two knees. One knee was atop the ankle, the other at the end of the thigh. Ideally those knees would always be concentric. Mine were not. They were close but not perfect and they got real screwing for the upright positions like Mike requested.

So in this new project I used simple bitmaps of a foot, ankle and thigh and had small hollow circles at the pivot points. Tonight I finally got it right where all the knuckles stay aligned (+/- a pixel, which is expected in GDI integer graphics).

If the algebra isn't tough enough to keep straight, GDI reverses the Y axis for some function but not others. GDI Bitmap rotations use a standard Cartesian where GDI draws use a reverse. I tried to keep all the sign fixes in the presentation layer and not in the calculation area but I'm sure I'll have a bit of +/- straightening out to do for the real application. But now you can set an initial foot angle (new) and how much ankling you do (which was there before but worked incorrectly).

Anyway, work progresses.

Go to Top of Page

shooky56
recumbent guru

USA
545 Posts

Posted - 01/26/2015 :  11:08:37  Show Profile  Reply with Quote
Just an update posting. After several "false starts" on building a rider designer, I decided to mimic the frame designer. The frame designer, covers some complex 3D design problems with a bit of simplicity compared to generic designers. The simplicity is born of the fact that we know the shape of most of the parts w/o having to describe them from scratch. Creating meshes can take a while but this is handled instantly in code.

The body designer will work on the same page as the bike designer so you can marry the position of the rider to the bike properly.

The controls above don't really apply to the rider, that will change to a bunch of text entry areas. Each person will need their measurements and a couple other numerical facts to fill out all the boxes.

That leaves these steps roughly:
--Input UI for rider size plus several other critical measurements.
--Export (to the shell) the rider and make a save/load for it.
--Connect my new kinematic function to this human.
--Output.

Here's a few frames showing the building of a rider so far:

Roughly a correctly dimension frame from Warren's latest project:
[URL=http://s1372.photobucket.com/user/shooky56/media/Cycling/Shell%20Designer_zpslaqz9g0g-1.png.html][/URL]

Clicked the rider designer, this is the starting window:
[URL=http://s1372.photobucket.com/user/shooky56/media/Cycling/RiderDesigner1Edit1_zpsgv6f0cey-1.png.html][/URL]

Dragged the pelvis widget to the seat (all parts of the human move when you drag the pelvis):
[URL=http://s1372.photobucket.com/user/shooky56/media/Cycling/RiderDesigner2Edit1_zpsrinmk7nh-1.png.html][/URL]

Then I begin positioning the rider by left clicking each part and right-click drag to rotate the part into the right position. All parts "downwind" of that part move to keep pace. No kinematic rules are enforced beyond staying connected. The position shown is to illustrate the lack of bending rules:
[URL=http://s1372.photobucket.com/user/shooky56/media/Cycling/RiderDesigner3Edit1_zpsznum9exg-1.png.html][/URL]

It's pretty easy, this took about half a minute to do obviously this 5-4 human fits poorly:
[URL=http://s1372.photobucket.com/user/shooky56/media/Cycling/RiderDesigner4Edit1_zpsxxcynk1l-1.png.html][/URL]


Go to Top of Page

warren
human power expert

USA
6118 Posts

Posted - 01/26/2015 :  11:52:25  Show Profile  Visit warren's Homepage  Reply with Quote
Cool! I can tell this is to scale because the seat is too short for a tall guy!
Go to Top of Page

shooky56
recumbent guru

USA
545 Posts

Posted - 01/29/2015 :  15:35:19  Show Profile  Reply with Quote
So many resources to create to make this User friendly! I'm spending about 70% of my time in Paint.Net these days, only forwarding the code when I have the resources ready to support what that code will do.

I did not make this application resizable and there are a lot of reasons why. It can be done but it takes a lot of work to make this complex of a "control layout" resize properly. So I opted for about the smallest surface I thought I could work with (1200x800) and stuck with it. Even so, Visual Studio still gets lost and I'm forced to edit the designer file (which you aren't supposed to hand edit) to kick VS back into synch occasionally.

With "limited real estate" and so much info to display, I'm forced to share areas. One area designated for this is the "banner" near the top. That gives me a place for buttons, panels, textboxes, etc. When you click a designer option there are no fewer than 20 boolean (T/F) settings that change to tell the software what to display and what not to display.

One detail I needed for the Rider designer was some pictures to describe how and what to measure. Most measurements are pretty simple like "knee to ankle" length (joint to joint). The foot, however, needs a lot of measurements and is certainly going to be the hardest to "get right" for the User.

The foot also needed the most explaining and I finally decided I could do it with 5 pictures showing where to measure.... only had enough room for 3 pictures...

So I tried a method and like it a lot. You click on a body part, like the foot. The data entry labels and the number of visible entry boxes change to match the part selected.

The foot has seven measurements and therefore needs seven entry boxes. If you mouse over an entry box that needs a special picture, the first picture changes to match.

Below are some pics to the flow for entering foot data.

Picking out the foot as the part to edit:


Selecting one of the special boxes that change the picture to help figure out what the measurement means, don't need both "Ankle Angle" AND "Pedal to Knee" as one value mandates a value for the other but gave you and option for either. Most will probably opt for the Pedal to Knee length but the images show that the helper picture changes to match.
Go to Top of Page

Runxner
recumbent enthusiast

USA
441 Posts

Posted - 01/30/2015 :  04:25:46  Show Profile  Reply with Quote
Your new pics remind me of one of my favorite motorcycle shopping sites- http://cycle-ergo.com/



Team Low-Life
Lowracer Test Pilot/Evangelist

Edited by - Runxner on 01/30/2015 04:47:21
Go to Top of Page

shooky56
recumbent guru

USA
545 Posts

Posted - 01/30/2015 :  05:48:10  Show Profile  Reply with Quote
LOL, yup!
Go to Top of Page

shooky56
recumbent guru

USA
545 Posts

Posted - 02/03/2015 :  09:08:02  Show Profile  Reply with Quote
Still working the rider designer. There are some unique problems I'm solving due to the internal marshaling of bitmap data. Getting there, just a bottleneck while I work the kinks out.
Go to Top of Page

alevand
human power expert

USA
2935 Posts

Posted - 02/04/2015 :  04:52:04  Show Profile  Visit alevand's Homepage  Reply with Quote
Yesterday I downloaded the open source Brl-Cad, and it installed on Linux.

http://sourceforge.net/projects/brlcad/?source=typ_redirect



C:
Tony Levand

Edited by - alevand on 02/04/2015 04:53:50
Go to Top of Page

shooky56
recumbent guru

USA
545 Posts

Posted - 02/06/2015 :  11:39:35  Show Profile  Reply with Quote
Thanks Tony, very cool open source project there. Looks like it's quite mature also.
Go to Top of Page

shooky56
recumbent guru

USA
545 Posts

Posted - 02/06/2015 :  11:51:32  Show Profile  Reply with Quote
Finally got the rider designer mostly working, I haven't done anything with the numbers yet but I can load and save a scaled and positioned paper doll rider. Now I've got to revamp the 3D rider to use that data. Right now the edited rider changes the paper doll designer but it isn't passed to the 3D model.

Up to now, I've only used "cylinder definitions" for the 3D rider. A thigh, for example, was a cylinder (technical a conic solid) that was fat at the hip and skinny at the knee.

Now, I'll be using my saved meshes from the human designed by "Make Human" and another application I wrote to cut the body into major parts (pelvis, thigh, torso, etc.). I'll use the paper doll dimensions to scale and the meshes of each body part.

One interesting point getting the dimensions right is that I don't really care about any body part "well inside the shell". I'm interested in correctly positioning the toes, heels, outside of shoes, rump and shoulders. Head should be pretty close too (although I envision this designer mostly for canopy types where the canopy is designed elsewhere). What the "guts" look like between those limited body parts is pretty irrelevant. Things like worrying about heels hitting the crank in a narrow Q-factor (for example) or feet blocking a turn are left to the frame builders.
Go to Top of Page

warren
human power expert

USA
6118 Posts

Posted - 02/06/2015 :  14:23:54  Show Profile  Visit warren's Homepage  Reply with Quote
You are making good progress!
Go to Top of Page

shooky56
recumbent guru

USA
545 Posts

Posted - 02/13/2015 :  11:44:10  Show Profile  Reply with Quote
Progress report: In order to revamp the way I built and displayed the human body, I tore that section apart, sort of bull-dozed it over. In the ensuing couple of weeks the only display the shell designer had was a big red X over the screen (the 3D library's way of saying "huh?").

Last night I got the pelvis in place which brought my spirits up quite a bit. I'm nearly ready to work on plugging in the kinematics. "Nearly" may be anywhere from hours to days but still it's nice to see some light at the end of the tunnel.

Here's a picture of a body import that was designed in the body designer, saved, then loaded into the shell designer. The parts aren't connected properly yet but it beats a red X on the screen all to h---!

[URL=http://s1372.photobucket.com/user/shooky56/media/Cycling/Partially%20working%20human-1_zpsppujdhs1.png.html][/URL]

Hopefully I'll be done in time for my trip to points South. My brother lives near Warner Robins and my nephew is meeting me there 3rd week in March. A second nephew was coming too and we were all going riding. The 2nd nephew won an award at work (he writes server monitoring software among other things). He and his family are being shipped to Hawaii for a week, unfortunately the same week.

Bro has a CNC and, if worst comes to worst, I'll stop work on the software for a couple weeks, go back to a very early version (which worked just fine for my own personal needs), add the output and make my ribs while there. The bad thing is there won't be any new development for probably nearly a month in the interim.

The good thing is the output work is needed anyway and will directly and easily transfer into the latest version when I get back home.

Rest assured, I still have every intent to deliver a working version to recumbents.com with the carrot being that it will be useful to others.
Go to Top of Page

warren
human power expert

USA
6118 Posts

Posted - 02/13/2015 :  14:16:08  Show Profile  Visit warren's Homepage  Reply with Quote
Thanks for the progress report, happy coding!
Go to Top of Page

shooky56
recumbent guru

USA
545 Posts

Posted - 02/18/2015 :  07:45:04  Show Profile  Reply with Quote
Just an update:
Whew, so much re-write to change that body. Have left a plethora of code orphans lying around, probably a couple thousand lines of fairly mathematical stuff.

Am now importing and correctly positioning the body parts created by "MakeHuman"; added a small flesh-toned "ball" for a hand though since theirs was open.

At this point am now sizing the 3D body parts to match the the length dimension of the rider designer.

The rider designer has a lot more dimensions than just length. Starting work on using the particular dimensions, like the measurement to the outside of the hands and feet. That entails checking all the vertexes, finding which particular triangles (of the 3D model) correspond to the "area of interest", calculating their displacement then rotating in the Y axis (yaw) to angle the body part in or out appropriately until that spacing is matched.

Already rotate in Yaw but, right now, I've hard coded those angles for the upper arm and forearm (MakeHuman's model had them sticking outward at about 30 degrees sort of like a swimmer doing a butterfly stroke). When that is finished, need to attach my kinematics (hard) and add output (easy) before a release.

Haven't closed the hollow parts (did this on my clunky human) so there are no end caps on any particular part which shows up as a gap. I can, and probably will, eventually do that but it is irrelevant to make a good shell, the gaps occur at spatial points that are well inside the shell and therefore do not matter.

Also I have not created a mesh for the recumbent seat (which gives a 3D version of the 2D designer's seat). Again that isn't relevant as the seat is almost certainly well inside the shell. The position of the rider is important and that position is honored (if I haven't goofed). Goof is possible (since this rider is squashed into the frame).

Here is a picture of a rough (10 minute) version of Warren's latest project with a 6-4 rider on it. Feet are angled outward and the hands obviously protrude but you get the idea. Sorry Warren, still a half-shell, fix should be fairly trivial but it's not on the list yet. That's in the clean-up details before a release though.

[URL=http://s1372.photobucket.com/user/shooky56/media/Cycling/Warren%20on%20his%20frame2_zpsawm5phax.png.html][/URL]

[URL=http://s1372.photobucket.com/user/shooky56/media/Cycling/Warren%20on%20his%20frame3_zpsqj066wlp.png.html][/URL]

Pushing to beat my trip departure date.
Go to Top of Page

Grant-53
recumbent guru

USA
544 Posts

Posted - 02/19/2015 :  07:09:26  Show Profile  Reply with Quote
Awesome!
Go to Top of Page

shooky56
recumbent guru

USA
545 Posts

Posted - 03/06/2015 :  07:22:59  Show Profile  Reply with Quote
Still working on it. Despite the large posts I really do try to "just tell the highlights" (if there is such a thing in coding) of the effort. There will be a lot of little bugs to clean up eventually but it's certainly closer. After nearly 10 days of "nothing on the screen" regarding a moving human, I finally got the thigh working. Problem was it was fluttering, the movement appeared pretty close to the proper place and range but it looked like the frames were out of order. One frame the thigh would be at the top, next at the bottom, 3rd somewhere between (for example).

Frustrating bug. Not to re-iterate too much but I have two different Cartesian systems (MicroSoft's doing not mine) as well as two different libraries for calculations, one defaults to radians, the other to degrees (again MicroSoft). That means I have to correctly specify four options for each calculation. It's not uncommon for one calculation to have a dozen such things in it and there are about 20 of those, roughly 200 minor details. Any one wrong and "it's just not right". It's a lot more accounting than math savvy IMO but I'm getting there.

The problem was "ankling". Ankling was held in degrees but should have been rads. 10 degrees ain't much but 10 rads is a "lap and half" around the circle. Once I fixed that it was much better. It does properly move through its range. Two more parts to get working right (the foot and ankle) and I'll be on to output.

Coding is my favorite past time so I'm having as much fun as a hog in a mud puddle.

One interesting thing I discovered was how fast this software runs (my machine is pretty solid btw). There is a screen speed that can't be exceeded (60fps typically) so calculating anything beyond that simply means discarded frames (BTW this applies only to the XNA "3D" shell portion not the GDI sections). At one time the FPS was 60 because I had set the kinematics calculator to only run once every 1/60th of a second and only displayed a new screen when new calculations were done. After revamping literally a 100 different algorithms I'd lost that condition (only display when new calculations) and was now displaying a frame anytime the software was idle which was much more often. Roughly 20x my original frame rate. In fact, new frames are being spammed at over 1000FPS. The display only picks up 1 in 20 of those but holy number crunching Batman those GPUs are amazing!

Go to Top of Page

Kragasaur
recumbent enthusiast

259 Posts

Posted - 03/06/2015 :  09:30:07  Show Profile  Reply with Quote
quote:
Originally posted by shooky56


Last night I got the pelvis in place which brought my spirits up quite a bit.



Usually does for me too.
Go to Top of Page

Speedbiker
human power expert

USA
3758 Posts

Posted - 03/06/2015 :  18:03:56  Show Profile  Reply with Quote
Zinger!
Go to Top of Page

shooky56
recumbent guru

USA
545 Posts

Posted - 03/07/2015 :  15:17:37  Show Profile  Reply with Quote
LOL all!

Kinematics look good. It's been a long time since I made a release. Have added a lot of support bitmaps and other stuff to the package so I've got a lot of clerical work to get an msi ready. I leave in five days but have my PC going with me. If I fall short I can still work on it down at bros.

Caveat before release. I already know several little bugs (like the disappearing legs if the seat is back too far). Anybody interested in using it please post them lest I'm unaware. As usual, if you can figure out how to specifically recreate the issue that's a lot easier to troubleshoot.

That said, you can start from scratch, build a frame. You can create an appropriately sized rider and position him. You can design a shell to fit that package.

Haven't gotten integrity checks to make sure the knees are 100% in space where they are supposed to be (I plan to just takes more time). What I'd like to do is let a rider make some careful measurements on themselves, and let the software report those same values (before you spend a year building a shell only to find you don't fit!). What I was thinking was making a zero reference surface like the ground. Sit on your frame, move your knee as high as it ever goes and measure its height from the ground. Let the software report its numbers for the upper knee area and compare. More stuff like that for the shoulders, rear and feet.

Off to work on the back half of the shell and some output. Woohoo! --Homer Simpson






Go to Top of Page

shooky56
recumbent guru

USA
545 Posts

Posted - 03/08/2015 :  11:21:40  Show Profile  Reply with Quote
First part done, added a backside. Then put Warren in his new bike. This is for the fun of it not really a practical streamliner (that's actually going to his brother I think?). At any rate, I kept dragging the frame bigger and bigger to get his big feet inside. Got to thinking the easiest thing to do would be to "shorten Warren"... now where did I put those calcium rods?

BTW: at all side angles you should only see a perfect airfoil section (partial of course) so long as you are at the front portion (before the rider box). AFTER the rider box the curves are still airfoils but the distortion of closing the curve to the user defined tail line ruins the side contour.

Anyway, here is the result. Output is next, mind needs a short break though:
[URL=http://s1372.photobucket.com/user/shooky56/media/Cycling/Shell%20Design%2004_zps2alboppm.png.html][/URL]

[URL=http://s1372.photobucket.com/user/shooky56/media/Cycling/Shell%20Design%2005_zpsh2ypgkf8.png.html][/URL]

[URL=http://s1372.photobucket.com/user/shooky56/media/Cycling/Shell%20Design%2006_zpsbrgvjx1d.png.html]
[/URL]

[URL=http://s1372.photobucket.com/user/shooky56/media/Cycling/Shell%20Design%2007_zpscoikhw3z.png.html][/URL]

[URL=http://s1372.photobucket.com/user/shooky56/media/Cycling/Shell%20Design%2008_zpspcjbym9o.png.html][/URL]



Go to Top of Page

warren
human power expert

USA
6118 Posts

Posted - 03/08/2015 :  12:18:21  Show Profile  Visit warren's Homepage  Reply with Quote
Wow, great progress! It's looking better all the time.
Go to Top of Page

Jeff Wills
human power supergeek

USA
1271 Posts

Posted - 03/09/2015 :  20:29:48  Show Profile  Reply with Quote
quote:
Originally posted by shooky56

[/URL]




That's starting to look awful familiar. :)





__________________
Jeff Wills
All my bikes:
http://home.comcast.net/~jeff_wills/Gallery/index.html
Go to Top of Page
Page: of 23 Previous Topic Topic Next Topic  
Previous Page | Next Page
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
www.recumbents.com © 2017 www.recumbents.com Go To Top Of Page
Snitz Forums 2000