Web Development Quest by Derek Gregoriev

I started learning about web development during my furlough days from work this past year. fortunately, the furlough days are over but I am still continuing to learn about web development. The site I am using presently here is not one that I have coded, but I will likely migrate some of it over in the next couple months. I am taking classes at The Glendale Community College and learning on my own. I’ve got the basics of HTML, CSS, and a back end of PHP and Maria DB (MySQL). I’m taking a class for javascript in the spring so I’m hoping to have my full stack capabilities by then. I am still figuring out the appropriate way to configure the back end though since the book I got (Murachs) seemed to really focus on procedural programming methods (YUCK!!). The Murach book for HTML and CSS was great, but the PHP book really left a lot to be desired.

One of the reasons I have decided to dive into this is also because the document control system at my work uses a WAMP stack. We have not had anyone able to change or add to the program since it’s author left the company years before most of us started working there. I’ve begun adding a section to it for making Export Control determinations (USML questions and CCL questions) for our drawings and products.

3D Canvas for Tkinter by Derek Gregoriev

Several times I have been confronted with wanting to represent 3d data in a quick program I’ve thrown together in python/tkinter and each time I have leveraged the use of an external viewer (Patran, Autocad, Solidworks, etc) to manipulate and edit data once it’s generated. I’ve finally had enough of this patching and I put together a python/tkinter implementation (buggy at the moment and almost useful). I could have used numpy to handle some of the math, but I was trying to avoid the dependency so I put together a matrix handler (it could use some refactoring and cleaning as well), Coordinate system handler and coded in the basics of a point and a line (i.e. wireframe mode…). I have worked on something similar to this in C++ and Java and borrowed from the way Java3d handled the transforms. I’ll put the packages here and update more once it’s cleaner.

The pictures below are from Spyder and its showing the visual transforms performed on the visible/screen geometry. (actual point data remains unchanged after manipulations)

The code set is here: https://sourceforge.net/projects/derekgportfolio/files/PythonTkCanvas3d/

ui_3dviewer.png
Starting geometry. The circled point is transformed to be centered in the middle of the window (<0,0,0>). The transform for the visual spun the coordinate system about its x axis 180 deg to put positive values going up (screen coordinate 0,0 i…

Starting geometry. The circled point is transformed to be centered in the middle of the window (<0,0,0>). The transform for the visual spun the coordinate system about its x axis 180 deg to put positive values going up (screen coordinate 0,0 is top left) then translated to the middle of the screen.

This is a rotate performed on the rotate matrix/coord system along its z axis (out of page)

This is a rotate performed on the rotate matrix/coord system along its z axis (out of page)

This is a rotation of the view about the x axis after having rotated about the z axis. The dilation appearing like we are seeing over the top of the square is what we would expect.

This is a rotation of the view about the x axis after having rotated about the z axis. The dilation appearing like we are seeing over the top of the square is what we would expect.

Even Composite sectioning Is too expeNsive by Derek Gregoriev

About a month ago, I even tried to see if I could get the cost down by using the polymer like a steel reinforced composite (like reinforced Concrete). Either like prestressed concrete or normal rebar reinforced (threaded rod would act as gradual load transfer mechanism in lieu of deformed bar). Even this configuration couldn’t match the cost of steel or aluminum framing for strength and cost. So, the decision is steel framing and I’ll figure out how to get it mig welded.

Plastic sucks by Derek Gregoriev

Ok so yes its cheap and easy to use and has wide spread application but trying to get its performance to match aluminum is challenging. If I get the strength to match, the cost is higher than Al and if I get the cost to match, the properties are garbage. Lesson is that printed parts are replacements for difficult/impossible/expensive machinings and not for standard parts.

Enclosure Update by Derek Gregoriev

Not long after putting together some basic sections for the 3d printed segments, I realized that the cost to manufacture sections equivalent to the 1” aluminum framing in shear was unreasonably expensive. So its back to the design board again. Realistically, most failures occur in bending so my next route will likely be a hollow section with shear reinforcement at attach points. While putting together the sections I generated a setup with 4 fastener locations at the ends of the sections which I plan to carry forward into the next design iteration. I will likely also remove the ability to slot fastening into the channels since this would result in variable locations requiring shear reinforcement. Obviously I can engineer for actual loading scenarios which would make most of these considerations moot. But, presently I’m trying to find a versatile setup that is economical and efficient for load management.

3d Printer Enclosure by Derek Gregoriev

Background:

A while ago I purchased a Creality 3d printer. I tried doing some flexible filament printing (pain in the butt and didn’t work very well). More recently I have been trying to print ABS but the machine can’t get hot enough on the print bed to get good adhesion with the filament so I decided to put together details for an enclosure (also gives me an opportunity to install a mini dehumidifier in the enclosure #PowerBill_IsGonnaSuck). I don’t have regular access to machine tools so I am looking for something I can order the piece parts to and then just assemble it. Unfortunately, the last iteration of this came out to over $1,000 without even including the panels, so I’m gonna replace a lot of it with 3d printed parts that I’ll make out of PETG or something. Depending on temperature/structure loading, I may end up with some of the pieces sagging, so if necessary I can mod the element design to incorporate a steel core to maintain form when heated.

Solidworks model of full construction and basic cost on the right organized by most costly element (angle bracket that’s used everywhere is most costly).

Solidworks model of full construction and basic cost on the right organized by most costly element (angle bracket that’s used everywhere is most costly).

Rationale:

So to swap out the aluminum construction used in the iteration above, I would like to take a rough estimate for a structurally equivalent form from assumed values of PETG with no thermal effects considered.

Aluminum 6105-T5:

S.yieldAL = 35ksi

E.AL = 10.2 x 10^6psi

T-slot Framing Properties for aluminum section (Solidworks did the area and moment of inertia calcs)

T-slot Framing Properties for aluminum section (Solidworks did the area and moment of inertia calcs)

PETG:

S.yieldPETG = 5ksi

E.PETG = 0.3 x 10^6psi (found online and may actually be more of a tangent modulus, would like to look into this later)

As for the actual profile, we would want to scale the profile so that it’s stress state is loaded to the same fraction of yield in shear and bending for the same load applied (will look at deflection similarity later) as the aluminum construction.

So in direct shear, V/A is the basic relation for shear stress (VQ/It isn’t anymore helpful here). Solving for the PETG Cross sectional Area will result in a minimum cross sectional area to be equivalent. Since the yield stress of Aluminum is 7x PETG, that would mean the area needs to be 7x that of the Aluminum to be in the same fraction of stress state to yield. So basically, the length dimensions in the cross section above need to be ~2.75x larger. After applying this to the cross section in Solidworks (with some minor changes), the following section is produced.

Approximate PETG section equivalent for shear to the 1in T-Frame solution

Approximate PETG section equivalent for shear to the 1in T-Frame solution

Similar drawing to that provided for the Aluminum T-framing

Similar drawing to that provided for the Aluminum T-framing


In bending the equation becomes My/I = Stress. This means that the I/y term (S) dictates stress. With the same moment applied as the Aluminum I am looking for a Stress that is 1/7th that of the Aluminum so my S term must be 7x that of the Aluminum. With the y term being 1.5 from the centroid of the section, that means the I must be 7 (0.04596in^4) (1.5in) / (0.5in) = 0.96516in^4. From the section shown above we can see that we actually have a section that has a moment of inertia of 3.87in^4 so that is better than equivalent.

I’ll check the deflection properties in a follow up posting. Then we can actually go ahead and start re-designing the enclosure to take advantage of the 3d printed parts in lieu of the aluminum construction.

The Inbetween by Derek Gregoriev

So I changed companies in 2018 from Raytheon to a small aerospace ducting company called RSA Engineered Products. The ability for advancement was more apparent at the smaller company and was directly discussed as part of the position. Since joining in August of 2018 the new position has required a lot of work on basic Engineering concepts. The most obvious and apparent problem the company had was severe lacking in testing cognizance (ability to predict and know that a test setup could do its intended function) to qualify their new products. A sample image is below. The program was something like 4 years late for qualification and management was eager to get the units under test into production. After this testing we tested the full ducts for sinusoidal vibration and random vibration at an external test house. Anyway, I’m gonna post a follow up right above this but the subject is totally different so, I guess that’s it.

This was my colleague measuring the moment arm from the pivot of the ball joint but more importantly the structural support for this ball joint and it’s sister setup had far too many problems for me to feel good. This was an endurance setup that use…

This was my colleague measuring the moment arm from the pivot of the ball joint but more importantly the structural support for this ball joint and it’s sister setup had far too many problems for me to feel good. This was an endurance setup that used cartridge heaters to get up to ~900F. And…… We are using aluminum as our structural material. But worse than that, the fasteners to the table were 1/4in and the holes are 5/8in…. There wasn’t enough time to fully fix this and get it entirely reliable but at least I was able to line up the brackets so that the load on the base plate went almost directly into the table without much of a span. Ultimately we completed the testing but fixing this with real design elements with proper torque ratings, temperatures and structural configuration has been time consuming. (I’ve since added a DAQ, digital motor control, digital counter, and drawings and model files for digital representation)


Good Gravy Batman by Derek Gregoriev

So I'm still alive and still moving. The project I was working lasted 8 months of consistently overtime work with no clear direction of when anything was due and requirements never established even after the 8 month mark. My time was dominated by two products where one of them must have gone through 11 revisions and the other about 7 revisions before analysis was stopped and drawings were issued. It became typical to come in and be notified that some big due date is 2 days away and we were needed to work extra hard to meet that timeline. It pains me so much that I wasn't able to drive the project this time by making definitive decisions since I was still figuring out how Raytheon does business and their engineering dogma. Fortunately, the following two months were dominated by reporting our results where I was able to claim scope and dictate what I could provide within the given time frame. Consequently, my group was initially chastised for pushing back on unrealistic deadlines but when the date came and we were the only group able to produce results, I did get a little feeling of vindication. Not that finishing meant anything to management though considering I got a complaint that we were holding everyone else up despite having already submitted our portion.

The new project I'm on is also a new design and like most new designs it has a plethora of problems and is extremely time intensive. I've worked it for about a month and with a little help from a colleague we've been able to down select the requirements and spin through 2.5 designs on 6 integrated items (VERY AMBITIOUS and I am still seriously fatigued). I'm still having issues with some of the detail elements now and the model I have is out of date but does provide insight to the gross state of stress so more changes are coming but our final form is basically in place.

Having said all that I've done some programming on my own predominantly in C++ and getting XERCES patched into my program so I can try out a method of SQL statement development where I package atomic commands inside of XML statements. The hope is the atomic SQL commands are easier to debug than the way I was submitting SQL commands into SQLite before. The problems I was having was in using a string stream I would miss subtle spaces between variables and the database would puke on me. I'm also editing my puke reporting methodology since I didn't do a great job of puke reporting initially.

That about covers it... I really need to get better at checking in here....