Medeek Wall Plugin

Re: Medeek Wall Plugin

Postby medeek » Fri Sep 07, 2018 10:09 pm

Tee intersections will now automatically remove the gypsum where the walls meet:



The algorithm which notches out the top plates is very similar to this algorithm, which notches out the gypsum. For interior walls, as shown above, the tee intersection may be on either the "interior" or "exterior" of the wall. Hence the algorithm needs to be smart enough to detect which side of the wall is being affected and notch the appropriate gypsum wall panel.

Further refinement is probably in order since the result is not a true mitered corner however it is a start and certainly and improvement from when tee intersections were simply ignored with the gypsum.
0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Mon Sep 10, 2018 4:33 am

The number of garage door types and variants is almost exhausting, yet another plugin within a plugin. To begin with I will start with the following door types:

- Solid
- Panel (Panels will consist of 18" or 21" panels (or metric equivalents: 455mm, 525mm) arranged in such a way to allow for 3" (70mm) increments in door height.)
- Standard Raised Panel
- Long Raised Panel
- Standard Flat Panel
- Long Flat Panel
- Glass Standard Raised Panel (Glass indicated that the top panel will have glass inserts)
- Glass Long Raised Panel
- Glass Standard Flat Panel
- Glass Long Flat Panel
- Full Glass Standard Panel (Full glass indicates that entire door is glass)
- Full Glass Long Panel

There are many other garage door variants: Carriage doors etc... those will be added per user request.
0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby juju » Mon Sep 10, 2018 7:27 am

If you could build these child plugins in a way that a person could do a basic execution of whatever and could purchase the child plugin for the additional functionality it may be a good indicator of demand for the child plugin while bringing the main plugin cost down (thus more accessible) and a separate income stream from the child plugin (which may or may not be able to be used on its own).
1
Save the Earth, it's the only planet with chocolate.
User avatar
juju 
Premium Member
Premium Member
 

Re: Medeek Wall Plugin

Postby medeek » Mon Sep 10, 2018 10:25 am

Slowly working through the garage door module. Here is a first look at the garage door casing:



(Painted blue for emphasis)

With this new module I'm getting things right from the get go. Materials options are incorporated from the new Material Library so that piece of the puzzle will be much more streamlined and easy to use.

Since I am working through this a little more slowly (and carefully) it may be a few days before I release any fixes, I apologize for the delay.

As I mentioned in a previous post I have broken garage doors out into their own separate container, as such garage doors have their own edit menu etc... this is a little bit more work but will result in more flexibility and long term improvements will be more attainable.
1
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Mon Sep 10, 2018 8:50 pm

I'm fielding at least 5-10 questions per day on the plugin (need to put up a FAQ). However, I thought this particular question on utilizing layers within the plugin was worth posting here:

QUESTION:

Just to clarify, all pre-loaded layer names for all Plugins can be changed/modified through the global settling interface.

Can layer names be changed at anytime or must layer name changes be in place at the start of modeling? How would you update existing model layer naming to new names?

ANSWER:

As mentioned in previous posts, editing or do anything to modify a wall panel (ie. adding a door or window) will cause the plugin to redraw the wall panel from scratch.

This is particularly advantageous for making layer modifications (changing a layer name).

Try it out, create a wall, then update the name for the framing layer (or any other layer name being used) to something different in the global settings.

Then regen the wall panel(s), ie. drop them down to 2D and bring them back up again into 3D. You will notice that the new layer name has been added and that the old layer name is also still present. If you have regenerated all of the wall panels then nothing should remain on the old layer unless you have manually placed something there, and you can safely delete it. SU will prompt you if something does remain and what action to take.

So the long answer to this question is that layer names can be changed at anytime and are not restricted to being set at the start of a model.
0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Tue Sep 11, 2018 3:11 am

So here is what I have for the garage door callout so far:



The second (smaller) line of text will display the header/lintel size:

Glulam headers will display the glulam dimensions and the term "GLULAM BEAM"

A typical lumber (nail lam) beam will be: (2) 2X8 LUMBER BEAM

A typical LSL Callout: (2) 1-3/4X7-1/4 LSL BEAM

I'm sure everyone has their own favorite way of making these callouts and I need to figure out a way to allow for enough flexibility but at the same time to not over complicate the matter.

The dashed line shows the footprint of the overhead door, with its depth equal to the door height.

Please feel free to chime in with suggestions or concerns.
1
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Wed Sep 12, 2018 9:55 pm

Another very good question:

QUESTION:

How can you release drawn geometry (wall plug-in) from being parametric?

Is there a global setting to deactivate or is exploding the only way to achieve this?

ANSWER:

Exploding the main wall group is one way to do it, then group it back together if you wish.

If you do this you essentially eliminate the attribute library of the wall group so this action is irreversible once you save the file and exit the model.

Another method is to rename the Instance Name of the group (remove the RECT_WALL_ASSEMBLY keyword string). If you do this the plugin will not recognize the wall panel group as one of its own and will essentially ignore its existance.

The good thing about this method is that if you at some time in the future do want to restore parametric ability to this wall panel you can do so by renaming the Instance Name to include the keyword string above.

Just make sure the trailing digits or text after the keyword is unique to that wall panel, so that the plugin does not somehow confuse it with another wall panel.
0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Wed Sep 12, 2018 10:00 pm

Just a side note:

I've dug myself in pretty deep with the garage door module. Yet another fun rabbit hole (ie. arched doors, portal frames, separate garage door plugin within a plugin).

If I'm a little slow to get back to you on a specific bug or question or potential fix this is why. I'm trying to keep focused on the garage door module so that I get it right. I appreciate your patience.
0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Thu Sep 13, 2018 2:44 am

The detail below shows most of the basic elements of the portal frame that will be drawn by the plugin:



The PF King Stud and PF Trimmer Stud parameters will allow the user to increase the quantity of the king and trim studs accordingly.

The PF Bottom PLT parameter will allow PF Bottom Plates to vary from zero, one or two.

Optional head and jambs studs can be specified (shown in red).

The detail shows a double portal frame, a single portal frame is very similar with one side conventionally framed and one side portal framed as shown.

The light blue elements are the regular studs (or cripples) on their typical 16" o/c spacing.

PF C2 and PF C1B are probably optional elements but I like to include them, please let me know if there are any objections.

For now only strap holdowns will be available since this seems to be the prescriptive path most people employ. However in my professional opinion other holdown types (HDU) could be permitted provided that the proper engineering has been done.

Eventually I will include a PFH calculator in the plugins engineering module based on my own Excel based Portal Frame Calculator:

http://design.medeek.com/resources/PFH/ ... ULATOR.pdf

Please feel free to chime in with any comments, suggestions, concerns or additional options or parameters you would like to see added to this module.
1
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby pilou » Thu Sep 13, 2018 9:16 am

Leonard's codex! :fro:
1
Frenchy Pilou
Is beautiful that please without concept!
Speedy Galerie
User avatar
pilou 
Top SketchUcator
 

Re: Medeek Wall Plugin

Postby medeek » Thu Sep 13, 2018 5:17 pm

PF Framing algorithm is complete:



Double, Single (Left), Single (Right)

In this case a 10' wall creates a pony wall above the headers.

Now I just need to add in the logic for the optional jamb studs.
0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Fri Sep 14, 2018 12:56 am

A garage door with optional head and jamb studs enabled:



Also note that this feature can be utilized in the CMU or no framing mode:



Typically I see jamb studs used in a situation like this, where the door drops below the framed wall (vertically offset) into a garage curb or stemwall. By default the jamb studs are assigned to PT lumber. However, they can also be utilized without a vertical offset.
1
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Fri Sep 14, 2018 9:58 pm

I've been thinking about the parametric ability of the plugin and the fact that manual edits to the plugin geometry are for the most part discouraged since they will be blown away when the wall panel is updated by the plugin.

With that in mind does it really make sense to use components rather than groups, even for wall studs?

Components are essentially the same thing as groups and actually involve more overhead and hence a heavier model.
0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Sat Sep 15, 2018 8:10 am

A typical raised panel and flat panel garage door (10'x7') with the panels parameters set to "AUTO":





I may need to fine tune the spacing parameters a bit (I have not exposed the parameters to the user, it would probably just over complicate things) depending on feedback from designers.

Working on the window versions of these two variants now.

Then the all glass version for commercial applications (ie. Fire Station overhead doors etc...)

I will probably not release a carriage door style just yet, not until I have further researched this type of door and determined what configuration and additional parameters might be needed.

Below is a preview of the Garage Door Edit Menu (note that most of the advance options have been disabled so that if fits on the screen):



I've enabled the Portal Frame option so that you can see the available parameters.
1
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Sat Sep 15, 2018 9:32 am

Exterior and interior of a 10'x7' garage door (raised panel with glass and 2x2 grille):



0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Sun Sep 16, 2018 1:04 am

The number of horizontal and vertical panels can be specified or be set to AUTO so virtually any number of combinations are possible:



Full glass door exterior and interior. However I'm noticing that these types of doors usually have a kick panel (no glass) installed.



1
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Sun Sep 16, 2018 7:54 am

A glass door with a threshold and door lever (hardware):



Note that the grey material applied to the door was first created in the material manager in the global settings and then applied in the garage door edit menu. I am very happy with the implementation and added functionality of the new material manager.

The blocked out areas on each side of the garage door indicate the extent of the portal frames when enabled:

0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Sun Sep 16, 2018 9:44 pm

Garage door with ext. trim and wainscoting:

0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Mon Sep 17, 2018 9:33 am

I was just about to release the latest release when I noticed a few issues with the insulation when portal frames are enabled for the garage door openings:



The portal frames added a whole new level to the stud framing, blocking and insulation algorithms.

I will hit it again tomorrow and see if we can't finally push out this latest version. I think everyone will be pleasantly surprised with the new functionality and bug fixes.
1
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Tue Sep 18, 2018 5:26 am

Version 0.9.5 - 09.17.2018
- Added advanced options to the column edit menu which allows for notching out of gypsum, sheathing and cladding for beam pockets.
- Tee intersections will now automatically remove gypsum where walls meet.
- Added the garage door module with the following garage door variants: Solid, No Panels, Raised Panel, Flat Panel, Glass Raised Panel, Glass Flat Panel, Glass Panel.
- Added Portal Frames: Both, Left, Right to the garage door module.
- Removed garage door option from door draw and edit menus.

Just a word of CAUTION when upgrading to this latest version from previous installed versions:

Upgrading to 0.9.5 will break all previously installed plugin models. The reason being is that the door module and attribute library associated with doors has been changed in this latest version.

I'm not saying don't download and install the latest release, since it is a significant improvement over 0.9.4c, just do not use it with prior models that you have created with the plugin.
1
Last edited by medeek on Tue Sep 18, 2018 9:56 pm, edited 1 time in total.
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Tue Sep 18, 2018 5:11 pm

Now that the garage module is finally out I'm able to refocus back onto the gable wall module, and hopefully get something going with this in the next week or two.

As I've been contemplating it implementation this morning I've come to the following realization. A gable wall can be separated into two cases:

1.) A true gable wall (ie. balloon framed wall from rafters to floor)

2.) A gable pony wall that rests on top of a regular rectangular wall.

However a gable wall is still a gable wall whether it rests on top of another wall or floor. So the basic algorithm for it remains the same. Like a regular rectangular wall it also still has inside or outside corners as well as tee intersections and also an end case.

Unlike a rectangular wall when it intersects other walls its top plate(s) don't mesh neatly with the other walls. This has been cause of some concern for me as I want to make sure I figure out the best way to handle intersecting sloping walls.

Also gable or sloping walls can get quite a bit more complicated than just your simple symmetric gable or shed wall, there are a lot of possible variations with the potential for multiple pitch breaks with the top plate(s). Even more interesting are special pony walls between various roof lines where the bottom plate of the wall is also sloping or has multiple pitch breaks (probably not as common).

The simplest incarnation of a dual pitched gable wall (vs. a shed wall with a single pitch) should have four basic parameters:

1.) Left Wall Height (start)
2.) Right Wall Height (end)
3.) Left Pitch (x:12)
4.) Right Pitch (x:12)

By default wall heights and pitches will be equal, resulting in a symmetric gable wall.

Setting the wall height to zero will result in a triangular shaped wall segment.

Please feel free to offer any corrections to these observations, comments or additional suggestions with regards to gable walls.
0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Tue Sep 18, 2018 5:55 pm

On a slightly different note I've also been thinking about an easy way to fully implement a system for "painting" the gypsum of walls:



Currently the gypsum can be assigned a material per wall panel section which yields something like the screen shot above.

The only problem with this method is that the same color is applied to all the gypsum sections of the wall panel so it prevents the designer from specifically assigning unique colors to each room of a residence (note the blue wall panel above).

What I really need is a way to apply a color to separate gypsum panels within a given wall panel. It needs to be more granular and also easier to apply or change these colors. Keeping track of each panel (gypsum section) and the color assigned to it may be a bit more complicated than it looks, I will need to give this some more thought.
0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Sun Sep 23, 2018 11:34 am

Here is a first look at the HTML preview screen of the Medeek Estimator Module:



I've only added in the sheathing, cladding and gypsum so there is a lot more things to add yet.

Also noticeably absent is the download link for the Excel (CSV) file. I will see if I can make that happen tomorrow.

Each wall panel has a lot of data and meta-data associated with them. I really could use some feedback on what is important in this regard and what is not.

Now that I have the basic framework in place it is really not too big of deal to add additional items (ie. stud counts, lineal feet of trim, etc...)

Separate from the wall panels are beams, I will get to those later. On the preview screen I will probably provide a tabbed navigation so one can move between walls, windows, doors beams and so on.

The CSV file however will contain all of the information in large sheet.
0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Mon Sep 24, 2018 2:24 am

The CSV piece is now working (HTML and CSV output in Excel):



Rather than just a meaningless number I could use a CSI number for the various building elements.

To get your data involves only four mouse clicks:

1.) Click the estimating icon (calculator in the Wall Plugin Toolbar).

2.) Click the Select All button which will then automatically select all of the Medeek Wall Panels, or you can individually select desired wall panels by using the SHIFT key.

3.) Click the Calculate button, review your data in the HTML preview table if desired.

4.) Click the CSV/Excel (Green) icon and download the CSV file which can be opened up directly in Excel for further analysis and costing computations.
1
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Mon Sep 24, 2018 6:48 am

Version 0.9.6 - 09.23.2018
- Created the initial framework of the Medeek Estimating Module.
- Added sheathing, cladding and gypsum to the Medeek Estimator.
- Corrected the group description for pressure treated bottom plates.
- Added the ability to export data from the Medeek Estimator in CSV format.

Currently only three items are added to the estimating module, many more items to add.

The saving grace is that I think I've set it up quite cleanly and organized so that adding in new elements should be relatively easy and really not a whole lot of coding.

I'm releasing it now in its prototype stage so that everyone will have a chance to test it out and put it through its paces. Once I return from the upcoming Basecamp I will hit it hard again and add in a multitude of building elements.

I also need to nail down the proper CSI numbers for the various elements, I'm sure I'll make a few mistakes along the way.

I haven't had much of chance to test it (Estimator) out in a metric template so I apologize if anyone encounters any bugs while using a metric template. Further testing in a metric template will be the first thing on my list when I return.
1
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Mon Sep 24, 2018 4:11 pm

Interesting question today on using presets in the Draw Wall Menu. In response to this question and to help people further understand the order of operations when using presets see answer below:

ANSWER:

I may need to change up the logic a bit to make it a bit more intuitive when utilizing presets within the Draw Wall Menu.

First, when you hit the save button it will prompt you for a name to save the preset as, then you enter in a preset name and hit "Save Wall Preset". You should then see the new preset added in the drop down box, if you do not then there was some type of an error. Please enable the ruby console and duplicate the error and send me the ruby console output if you encounter this behavior.

Second, when you are loading a preset it is a two step process. First you select your preset in the drop down box, then you click "Load", this loads the values into the HTML menu, it does not make them live just yet. To accept these parameters and draw the wall with them click on the "Update" button, and then begin drawing your wall(s).

I think it may be useful to just eliminate one of these steps and when a user click "Load" it automatically brings the presets parameters into the HTML form and also makes them the active parameters, thereby eliminating the step where you need to click the "Update" button. Thoughts?

Also note that you do not need to close out the Draw Wall Menu before drawing walls, nor should you, however the option to do that does exist. The idea is to keep the menu open so you can change up the wall parameters and keep drawing walls without having to continue to click on the draw wall icon. To quit the Draw Wall tool completely you simply click on the space bar. To start a new polyline of wall segments or just a single wall panel, click the ESC key.
0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Mon Sep 24, 2018 4:52 pm

QUESTION:

The Medeek Estimator gives a net and total area for the sheathing, cladding and gypsum. Why the two values, what is the difference?

ANSWER:

The total area is the area of the cladding with all openings removed. The net area subtracts the openings (doors, windows, garage doors etc...) from the total area.

Technically the net area is the actual area of cladding, sheathing or gypsum but in some cases contractors or other bidding a job might want to know the total area so I thought it might be useful to have both values and let the user decide what number is best for their analysis or estimate.
0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby Bob James » Mon Sep 24, 2018 5:48 pm

medeek wrote:I think it may be useful to just eliminate one of these steps and when a user click "Load" it automatically brings the presets parameters into the HTML form and also makes them the active parameters, thereby eliminating the step where you need to click the "Update" button. Thoughts?

One vote for "yes"
0
i7-4930K 3.4Ghz, 2x GTX780 6GB, 32GB DDR3-1600 ECC, OCZ Vertex 4 500GB, WD Black 3TB, 32TB NAS, 4x 27" Monitors, SpaceMouse Pro, X-keys XK-60
User avatar
Bob James 
Premium Member
Premium Member
 

Re: Medeek Wall Plugin

Postby medeek » Tue Sep 25, 2018 9:03 am

Version 0.9.6b - 09.25.2018
- Fixed a bug in the exterior wainscoting module for metric templates.

If you are using metric units you will want to update to this latest version. This bug seems to have been generated when I switched to the HTML Draw Wall Menu with version 0.9.1 (8/15/2018). What I find strange though is that I did not detect it until recently.
0
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

Re: Medeek Wall Plugin

Postby medeek » Thu Oct 04, 2018 12:30 am

Just got back in from Palm Springs and Utah (family visit).

I spoke to quite a few users of the plugins at the basecamp, however I apologize that I only got in on Wednesday night so I was only in attendance for Thursday and Friday.

As always I appreciate the feedback and the continued interest in this venture. Based on these conversations and my own thoughts I've formulated some additional items that would be useful additions to the plugin(s).

These key items that were discussed and are now on the the todo list are:

1.) Additional dimension layers for adding other more detailed callouts.
2.) Wall name actually shown on the model. Callout will probably be assigned to tertiary dim layer.
3.) Gable walls (this was already on the list but quite a bit of discussion on it).
4.) A special tool that allows one to automatically place a group or component into a wall panel group and assign it a label so that the estimating module can properly account for custom elements.
5.) Allow for a "no bottom plate" configuration for gable walls.
6.) Allow for multiple trim operations after selecting a face using the TRIM tool of the truss plugin.

I'm still quite tired today, after driving 14 hours straight yesterday and getting in at 4 AM, so I am probably missing a few items on this preliminary list.
1
Nathaniel P. Wilkerson PE
Medeek Engineering Inc
design.medeek.com
User avatar
medeek 
PluginStore Author
PluginStore Author
 

SketchUcation One-Liner Adverts

by Ad Machine » 5 minutes ago



Ad Machine 
Robot
 

PreviousNext


 

Return to Plugins

Who is online

Users browsing this forum: ashkan_k35 and 25 guests

Visit our sponsors: