Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Warbird
May 23, 2012

America's Favorite Dumbass

I realized I could replicate and print off some replacement clips for some accent blind whatsits that I've been meaning to replace since we got this place the better part of a decade ago. I grabbed one of the few unbroken ones, got out all my tools, traced it off, and got it into CAD. Took a couple of hours.

It was nowhere close to right.

So I took a picture of the drat thing. Threw it into CAD, traced it off in about 5 minutes, and am currently printing it off and it looks spot on. When will I learn?

Adbot
ADBOT LOVES YOU

ryanrs
Jul 12, 2011

Warbird posted:

On a separate matter, how is solid works on M series Macs these days? How readily available are “extended trials” if I was to go that way? I’m pretty happy with Onshape, but the fact it’s browser based is driving me a bit insane.

I tried Solidworks on an Intel Mac several years ago, using Parallels. It would run, but performance was terrible, completely unusable. 15 seconds to register a mouse click.

Solidworks on a Skull Canyon NUC runs quite well. That’s what I use now.

Ambrose Burnside
Aug 30, 2007

pensive
crossbost from 3d printing thread re: selling designs

Ambrose Burnside posted:

if i’ve got a bunch of 3D-print-tailored CAD designs and want to sell them, which platform should i go with? cults3d is my default here, maybe turbosquid? what else is there with a decent userbase


also: how hard is it to stack points on printables? i have a ton of mature designs i’ve never released- project folder says about 80 multi-part projects, with most of them being printed and iterated repeatedly so they’re actually decent irl designs. i still don’t have an FDM printer, and i’m like… maybe i could just publish everything and (if i get a couple hits) cash out on a prusa printer in a couple months… or at least keep me flush with filament for a bambu acquired the usual way.

Yooper
Apr 30, 2012


Ambrose Burnside posted:

crossbost from 3d printing thread re: selling designs

Why not both or all? Is there a lock down that restricts you to a platform? Use the SEO to your advantage and set up as many funnels as possible.

Ambrose Burnside
Aug 30, 2007

pensive
i don’t see why i wouldn’t, i just don’t know if there are platforms i’m overlooking, or if one is more geared towards what i design than others. i don’t have a good handle on the landscape, so i’m interested in whatever people’s experiences are. i also don’t know what sort of cut the platforms take or how that’s structured; some may be a better fit than others for what i wanna sell. a lot of my designs are of general interest to hobbyist printers, but others are strictly of interest to businesses and technicians in my industry, so i’d expect a handful of purchases with a high price-point. in the latter case i’d steer people there just through my existing professional connections, so a big user-base isn’t actually important there vs. keeping more of my revenue for the sales i do get.

e: for some of these, particularly the industry-specific stuff, i'd probably want to offer physical printed versions as well. so i guess if there's a vendor's platform that allows that as well, that'd be swell, else i figure i'd have to host it myself

Ambrose Burnside fucked around with this message at 22:41 on Feb 11, 2024

Yooper
Apr 30, 2012


Has anyone used any of the third party exporters for Fusion360? I need to do an end-of-year archive.

edit : It's slow.

edit 2 : It doesn't do my drawings :saddowns:

Yooper fucked around with this message at 17:00 on Feb 12, 2024

Ambrose Burnside
Aug 30, 2007

pensive
Any Alibre-heads find equation-driven configurations to be really buggy, or at least weird in how it handles sketches? I've done a few parts that I intended to be a parametrically-driven modular system from the beginning, with many variables located in a global equation/variable file referenced by several parts/assemblies, and both times now I've found that the equations used to drive the initial extrusion sketches were being deleted repeatedly and replaced by the actual values of those equations, so they'd stop updating unpredictably after I moved on to some other feature. Maybe there's something I'm missing in its implementation, but the way it handles sketches in this regard is very annoying, I want to edit sketches shared between configurations and have those changes not apply to locked configs, but I gotta produce a dedicated feature for each and every configuration and suppress all the other versions.

e: And while we're at it, has anybody worked with the very basic toolbox feature they added in 27? There are some parts I'd love to just iterate dozens of version of from an excel file, but some of those variables would be stuff like sketch text that I'm almost certain I couldn't control that way.

Ambrose Burnside fucked around with this message at 06:25 on Feb 14, 2024

ZincBoy
May 7, 2006

Think again Jimmy!

Ambrose Burnside posted:

Any Alibre-heads find equation-driven configurations to be really buggy, or at least weird in how it handles sketches? I've done a few parts that I intended to be a parametrically-driven modular system from the beginning, with many variables located in a global equation/variable file referenced by several parts/assemblies, and both times now I've found that the equations used to drive the initial extrusion sketches were being deleted repeatedly and replaced by the actual values of those equations, so they'd stop updating unpredictably after I moved on to some other feature. Maybe there's something I'm missing in its implementation, but the way it handles sketches in this regard is very annoying, I want to edit sketches shared between configurations and have those changes not apply to locked configs, but I gotta produce a dedicated feature for each and every configuration and suppress all the other versions.

e: And while we're at it, has anybody worked with the very basic toolbox feature they added in 27? There are some parts I'd love to just iterate dozens of version of from an excel file, but some of those variables would be stuff like sketch text that I'm almost certain I couldn't control that way.

I don't see that behaviour but I don't use global variables and configurations at the same time very much. I just tried it out and it seemed to work fine in my limited testing. You can only change dimension values in shared configs, any other changes will propagate to all configs and cause issues. I usually create a separate feature with the sketch copied from the base part and then edit that. Then use the suppress feature function like you mention.

I keep meaning to try out the toolbox but haven't had a need yet. Mostly I am waiting to see what they add to it so I am not duplicating work.

Ambrose Burnside
Aug 30, 2007

pensive

ZincBoy posted:

I don't see that behaviour but I don't use global variables and configurations at the same time very much. I just tried it out and it seemed to work fine in my limited testing. You can only change dimension values in shared configs, any other changes will propagate to all configs and cause issues.

yeah, i'm probably doing that occasionally without thinking, on account of having previously used SW, and being able to get away with a lot more with solidwork's equivalent.

i'm also trying to do things that have enough potential variants that i really should be writing a script to generate custom parts from drop-down menus n radio buttons, setting up all the possible configurations by hand is not a good use of my time

some kinda jackal
Feb 25, 2003

 
 
I have an OpenSCAD question.

If I want to create a cylinder with a chamfered TOP, is there an operation I can apply to just the top face, or am I limited to creating two overlapping cylinders like

code:
module myCylinder () {

	union() {
		cylinder(h = desired_height/2, d = desired_diameter);
		
		// move this up to overlap to full final height of desired chamfered cylinder
		translate([x,x,x]) {
			minkowski() {
				cylinder(h = desired_height/2 + some_overlap, d = desired_diameter - chamfer_size);
				sphere(d = chamfer_size);
			}
		}
	}

}
I probably butchered the code and am missing a lot of math but essentially creating two halves of the total cylinder, one that isn't chamfered, one that is chamfered using the minkowski function, slightly overlapping the original because openscad hates parallel planes when unioning, then unioning them together.

This is with maybe two hours in OpenSCAD so maybe I'm missing something ridiculously obvious.

Just wanted to try OpenSCAD but I'm not married to it. I've spent two hours trying to figure this out when I could have done it in like 30 seconds in onshape or something. I like the idea of checking this into github for others to consume so I don't necessarily want to move to another tool.

some kinda jackal fucked around with this message at 19:46 on Feb 15, 2024

Spaghett
May 2, 2007

Spooked ya...

You can pretty much upload anything to GitHub. It doesn't have to be just code.

That's just my $0.02. I love doing things the hard way, tho, so I get wanting to code a cylinder.

Snapshot
Oct 22, 2004

damnit Matt get in the boat

some kinda jackal posted:

Just wanted to try OpenSCAD but I'm not married to it. I've spent two hours trying to figure this out when I could have done it in like 30 seconds in onshape or something. I like the idea of checking this into github for others to consume so I don't necessarily want to move to another tool.

Onshape is public on a free account, others can directly consume your models if they can find them.

There’s also scripting, revision control and branching too.

I’d suggest you take a look before you continue fiddling.

NewFatMike
Jun 11, 2015

+1 for Onshape, there’s really no comparison for entry level solid mechanical design modeling.

some kinda jackal
Feb 25, 2003

 
 
Sorry I should have rephrased. I use Onshape whenever I want to knock something out quickly. This is kind of an excuse to just dig into the weird difficult thing to see what it's all about.

To update on my own question, I found the BOSL2 library which actually has a chamfered cylinder function so I presume that's really the only way to get it done without being super hacky like I was above.

I really really like the IDEA of design as code, as janky as OpenSCAD feels like it is for any SERIOUS work.

e: on the other hand I just instantiated a module inside of itself by accident and crashed the whole app so that's pretty great :haw:

some kinda jackal fucked around with this message at 22:43 on Feb 15, 2024

tylertfb
Mar 3, 2004

Time.Space.Transmat.
Is there a particularly good and free web-based app that will vector trace a bitmap? I use Inkscape at home but want to do similar things at work, without involving the IT elves.

AlexDeGruven
Jun 29, 2007

Watch me pull my dongle out of this tiny box


tylertfb posted:

Is there a particularly good and free web-based app that will vector trace a bitmap? I use Inkscape at home but want to do similar things at work, without involving the IT elves.

Looks like there's a portable app version of Inkscape. I don't know if anything web based will give you remotely the same workflow. I've been looking for the Inkscape workflow on Android and have yet to find it (I really want it on my 12.8" S8+).

babyeatingpsychopath
Oct 28, 2000
Forum Veteran


some kinda jackal posted:

I have an OpenSCAD question.

If I want to create a cylinder with a chamfered TOP, is there an operation I can apply to just the top face, or am I limited to creating two overlapping cylinders like
This is with maybe two hours in OpenSCAD so maybe I'm missing something ridiculously obvious.

For chamfered cylinders, I will either do a rotate_extrude() on a 2d shape, or an extrude() with a scale factor on a circle.
code:
desired_height=20;
desired_diameter=10;
chamfer_size=3;

module chamfered_cylinder_a() {
    rotate_extrude()
        difference() {
            square([desired_diameter/2,desired_height]);  // the main body of our cylinder
            translate([desired_diameter/2,desired_height,0]) // move to the top outer edge
                rotate([0,0,45]) 
                    square(chamfer_size,center=true); // subtract off a corner to get a fillet profile
        }
}

module chamfered_cylinder_b() {
chamfer_ht=desired_height-(chamfer_size/sqrt(2));  // our cylinder is this tall until the chamfer starts
chamfer_scale=(desired_diameter-(2*chamfer_size/sqrt(2)))/desired_diameter;  // the chamfer ID is this ratio to full cylinder diameter
cylinder(h=chamfer_ht,d=desired_diameter); // a full cylinder up to the bottom of the fillet
translate([0,0,chamfer_ht]) // move up to the top of that cylinder
    linear_extrude(height=desired_height-chamfer_ht,scale=chamfer_scale)  // extrude another circle
        circle(d=desired_diameter);
}

translate([-desired_diameter/2,0,0])
    chamfered_cylinder_a();
translate([desired_diameter/2,0,0])
    chamfered_cylinder_b();
no worries about OpenSCAD. The learning curve is weirdly lumpy. You suddenly learn how a tool works and then it's brilliant and you can't think of any other way to do it... except the easy way.

Edit: Doing a minkowski hull with a sphere gives a filleted edge. You can play around with the second shape in the rotate_extrude to get different edge profiles.
Edit2: for comments

babyeatingpsychopath fucked around with this message at 00:48 on Feb 16, 2024

some kinda jackal
Feb 25, 2003

 
 
A+, thanks! <3

For some reason it didn’t even occur to me to rotate/ex a 2D. That’s also really good, though I love being able to tweak the diameter etc parametrically so super thankful for your example.

Ambrose Burnside
Aug 30, 2007

pensive

tylertfb posted:

Is there a particularly good and free web-based app that will vector trace a bitmap? I use Inkscape at home but want to do similar things at work, without involving the IT elves.

idk what your security situation is like, but you might be able to just run it from a USB drive or something like that. vectors traces for CAD almost inevitably need a lot of polishing and hand-tweaking, even Illustrator doesn't get automatic vector tracing bang-on for a CNC milling job or whatever unless it's a simple black/white outline and you've tweaked the settings correctly, so I just take it for granted that you need a modestly-robust vector editing suite alongside that bitmap trace function

tylertfb
Mar 3, 2004

Time.Space.Transmat.

Ambrose Burnside posted:

, so I just take it for granted that you need a modestly-robust vector editing suite alongside that bitmap trace function

Oh so you mean ‘not Mastercam’ 🤣

I really just want to get some vectors from an already pretty much silhouetted photo to do a quick engraving project with the work machinery for my wife. I’ve been successful doing similar workflow with Inkscape and Fusion360, but that was at a previous, less corporate job, where I could do what I wanted with the PCs. The trade-offs you accept for actual insurance and tons more pay….

Roundboy
Oct 21, 2008
I am trying my hand at modeling a threaded container with lid, with the added caveat that I want a bump out on both components w/ a hole that I can use to add a simple lock.



My workflow in fusion360 was :

1) Model the container
2) Model the lid as a new component w/ the sketch off the top of the container
3) I extruded the lid 10mm towards the container (The image shows this moved out of the way)
The expectation here is that I will thread the inside of the lid the same as the top of the container, but only for the same 10mm
4) I created a bump out on the lid, and I intend to project that part of the sketch down to the container. The bump on each side will have a half circle completing the hole

The problem atm is that the rectangle sketch does not have the outer wall of the container, so I can't trim the rectangle to the wall properly.

Am I correct in assuming each bump out must exist on its own component to attach properly?
I am also doing the threads this way as I want the bump to index properly when the lid is screwed down. Its kinda useless if they dont align.

Does this workflow make sense? Examples i have seen model the two separately, and I want to assure they line up. I guess I should ask is there a proper way to index created threads ?

Dance Officer
May 4, 2017

It would be awesome if we could dance!
The workflow makes reasonable sense. I'm not sure what the exact problem is but if you're looking to extrude the bump from the lid into the bin, you can start a sketch from the underside of the container and use the project geometry function to get the shape of the bump into the sketch, and then you should be able to extrude.

Roundboy
Oct 21, 2008

Dance Officer posted:

The workflow makes reasonable sense. I'm not sure what the exact problem is but if you're looking to extrude the bump from the lid into the bin, you can start a sketch from the underside of the container and use the project geometry function to get the shape of the bump into the sketch, and then you should be able to extrude.

My original issue with separate lids and containers was with colored gradient FDM filament. A red to gold gradient on the container did not line up with the lid since the starting point of the threads appeared to be different. With the tabs aligning to make a hole for adding a lock, its paramount that when i screw the lid on, it lines up. Not having luck on how to assure that

Some Pinko Commie
Jun 9, 2009

CNC! Easy as 1️⃣2️⃣3️⃣!

Roundboy posted:

My original issue with separate lids and containers was with colored gradient FDM filament. A red to gold gradient on the container did not line up with the lid since the starting point of the threads appeared to be different. With the tabs aligning to make a hole for adding a lock, its paramount that when i screw the lid on, it lines up. Not having luck on how to assure that

Make sure when you model the threads on each item that they start in the same place and have the same number of revolutions?

This can be thrown off by something as simple as your swept cut profile being off on the Z-axis from each other or not being at the same angular location around the cylinder.

meowmeowmeowmeow
Jan 4, 2017
I'm not a fusion guy but assuming you'll be doing a sweep around a helix to make the thread profile, I'd do the following to make sure it assembles as you expect:

  • Make your helix using the pitch diameter of the thread and not the minor or major diameter so its the same between both parts.
  • Clock the start of the helix the same for both parts, maybe using the lock feature
  • Make sure the z-plane for the start of the threads is the same on both parts in their assembled position.

You should be able to make sure it worked correctly by putting the parts together in an assembly, doing a section view and making sure the threads look like they're mating nicely.

Roundboy
Oct 21, 2008
All great advice I'll work on tonight. I thought I can mitigate this by threading the objects at the same time, and then splitting them, but I don't think that would work here.

The object at the moment is just a simple cylinder so its a quick thing to remake and print to test.

meowmeowmeowmeow posted:

I'm not a fusion guy but assuming you'll be doing a sweep around a helix to make the thread profile,


Fusion actually keeps it very simple. Just add threads to a surface and adjust diameter / spacing ,etc It might be a little TOO simple for use cases such as mine, but i wonder if aggregating the advice above its best to:

  • Make the lid and container separately
  • Thread the container top and lid ID approprately.
  • Pick a spot on one where the threads are starting as the center of my tab
  • Use the same spot on the other part, and in THEORY they should be aligned.

Roundboy fucked around with this message at 19:20 on Feb 21, 2024

meowmeowmeowmeow
Jan 4, 2017
Yeah I think your workflow is correct. You need some clearance between the male and female threads, so I wouldn't recommend only modeling one set and then splitting or booleaning threads out of the other part.

The main thing to think about is that threads are fundamentally a helix, so if you can make sure the two helixes are whatever colinear is for spirals the threads will work as you expect.


If you 'assemble' the two parts together and use the section analysis in fusion you'll be able to see the threads and make sure they line up correctly. TBH I never really wrapped my head around how fusion handles bodies vs parts vs assemblies as file types, so I'm not sure if I'm using the right words for this.

tylertfb
Mar 3, 2004

Time.Space.Transmat.
A similar question (clocking threads so two pieces line up when screwed together) came up on one the Fusion Facebook groups a week back or so and the consensus (which I agree with) was that this kind of feature is super difficult to do and there is a reason you rarely see parts like this in real life. Better to design the thing with a captive nut for doing the thread mating and using another feature (typically mating flats) to clock the parts.

Even if you can design the parts correctly on CAD, manufacturing it is super tough. Anything like that gets an instant no-bid from my shop.

bred
Oct 24, 2008
Terms I've seen for this is indexing or clocking the thread. From what I understand, some guns have to index the barrel where it attaches to the receiver. Mass production probably has a validated process with specs on each part developed at the cost of several parts. One offs are made, tested, and adjusted to fit by smiths.

You might have more success doing something like flower petals in slots. Have it so when the locking tabs are in a lock, the petals are unable to pull out. Remove the lock, do some fraction of a turn, and lift off. I'm trying to think of something fundamentally simpler that will work in fewer iterations and secondary operations.

Second thought, split the thread from one locking tab so there are three parts. Cap with tab and thread, thread sleeve, container with tab. Plan to glue the thread sleeve to the container on assembly. Seat sleeve into cap to preferred tightness, line up cap lock tab with container tab, mate parts with glue.

bred fucked around with this message at 20:53 on Feb 21, 2024

meowmeowmeowmeow
Jan 4, 2017
I was assuming the lock would hold the cap on and it wouldnt need to be tightened beyond lining up the threads and it would be 3D printed making the manufacturing of the threads a lot more simple.

I've not had to do much clocked thread stuff but thread milling worked the couple of times I had to do it with the male threads ending a few turns before the end of the threaded bit so there was clearance at the bottom of the female part without having to back bore or slot mill it.

Roundboy
Oct 21, 2008
Im 3d printing it so the manufacturing is dead simple.

In my understanding , the start (or end) of the threads should line up, resulting in a cap in any position ending up fully tightened and properly indexed. The key is figuring out the offset from the start of the helix.

I have never seen a container modeled as a single part, always as a separate lid and body, but nobody really cares about clocking/indexing. I have been asked for other containers I designed to have the ability to be locked / secured. Not really unbreakable, just to keep people from casually opening the container. I also thought about matching slots top and bottom to make sure of a sloppy indexing but I would like to keep it as air tight as possible.

All in all something so simple turns out to be a good challenge being away from CAD modelling for a long while. There is almost nobody wanting to do something like this based on some extensive google searching as well. (At least in fusion or solidworks)

I guess I can ask another way, How would you go about making a threaded container with the ability to have a lock added ? (think simple padlock)

bred
Oct 24, 2008
I see fully tightened and thread indexing as competing features. Ignoring supports, a one part print will need air between the parts so they dont fuse. This is loose, not a fully tightened state. So the model has the tab X degrees from locked position.

A tight threaded joint is two coils of leaf springs pushing each other opposite directions.There is contact stress and tension there that doesn't exist when printing.

I think a 3 part design can get the tight cap and indexing.

This is a valve with LOTO locking tab https://www.trexwatertrucks.com.au/lockable-dump-valve-3-2-with-1-4-ports

Another thought is to move locking and sealing to separate parts. Like a thermos with an inner and outer cap. A threaded cap to seal and a flip on locking cover. Or a slipping cover like a baby proof doorknob.

Sagebrush
Feb 26, 2012

You need enough tolerance for the threads to spin that indexing based on where they jam is not going to work very well.

A better way is to design it so that the threads extend past the point where the lid is fully screwed on, and the cap closes by bottoming out against the top of the jar. Then you can tweak the closed position with test prints by adding or removing a fraction of a millimeter at a time from the mating surfaces.

rough crappy model:



adjust the height of the indicated surface as needed to get the lid to stop spinning at the right location. If your thread has a 4mm pitch, then adding one 0.1 mm layer will change the closed position by 1/40 of a rotation, or 9 degrees.

If you need it clocked more accurately than single-digit degrees, I'd consider building in some sort of an extra mechanical stop.

Sagebrush fucked around with this message at 22:59 on Feb 21, 2024

Methylethylaldehyde
Oct 23, 2004

BAKA BAKA

Sagebrush posted:

adjust the height of the indicated surface as needed to get the lid to stop spinning at the right location. If your thread has a 4mm pitch, then adding one 0.1 mm layer will change the closed position by 1/40 of a rotation, or 9 degrees.

If you need it clocked more accurately than single-digit degrees, I'd consider building in some sort of an extra mechanical stop.

You can also test-fit that by using shim stock or pieces of paper or cardstock.

ryanrs
Jul 12, 2011

Comedy option:

Put a ring of holes on each part, but with different spacings, like vernier scales. Attach the lock where the holes align.

bred
Oct 24, 2008
Oh I see, I missed the part about stopping the thread where the other one starts. I guess I'm trained on taps so I just mentally avoid the end of the thread. I see that working like a repeatable stop and allow you to predict the tab alignment position. It will entrap the cap when locked but I don't see it feeling tight or holding air or water.

ryanrs
Jul 12, 2011

If you really want it air- / water-tight, then you will need a rubber gasket + the vernier trick, or perhaps an o-ring.

tylertfb
Mar 3, 2004

Time.Space.Transmat.

Roundboy posted:

Im 3d printing it so the manufacturing is dead simple.

I guess I can ask another way, How would you go about making a threaded container with the ability to have a lock added ? (think simple padlock)

Do it like a cannon plug, where the tightening ring is a third piece and then have some kind of features sticking out from the lid and the container with holes for your lock/chain

Roundboy
Oct 21, 2008
Its not pretty, but it was a simple test to test my assumptions and see where i need to move on from here



I probably do not like the horizontal cutout, vertical will be what the final version will look like
Need to play with tab sizing, waiting on the print to finish to gauge size / add fillet or chamfer


Unexpected: The OD is 50mm, the walls were a simple 3mm offset inwards. The lid threads are 45x4.5 but making the identical thread on the top of the base resulted in me needing to make the base walls thicker to account for the threading. In my mind i expected the 3mm thick walls to handle the threads needed. I need to look at some other 3 printed containers to see if this is the same way. I'll have an over thick base if that is the case to keep it all lines up.

Its just math i need to play with, but im more interested in how the threads line up

EDIT: Hard to explain, but if i make a 55 OF container, then offset inwards 4mm. I have a 4mm thick wall. I extrude a 2mm base up, then the walls only up 20mm. If i thread that outer wall, it shrinks the whole OD of the part to fit the threads rather then leave a shelf, even though i only am partially threading. I have a constraint on the sketch, do I have to make the threaded part a new part joined to the body? This seems like a weird feature.

I also think i solved the indexing by making the threads, aligning the parts, then manually turning the lid until i see the threads align. Then i can draw my tabs.

Roundboy fucked around with this message at 04:16 on Feb 22, 2024

Adbot
ADBOT LOVES YOU

NewFatMike
Jun 11, 2015

ryanrs posted:

Comedy option:

Put a ring of holes on each part, but with different spacings, like vernier scales. Attach the lock where the holes align.

This is actually genius and a ring of ball detents would be a super fun execution on that.

I gotta finish this CNC machine…

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply