Jump to content

Creating 2d and 3d drawings of furniture with variable elements by user input

Recommended Posts

Hi, I'm looking for some advise on a project I am hoping to take on. The results that I would like to achieve are fabrication drawings (in 3d, plan, elevation and side view) of various pieces of furniture indicating relevant fabrication information such as heights, widths, leg locations, drawers, upstands etc
I would like to achieve this by inputting relevant information into a user interface. There are many variables which would need to be put in to cover all variations but I would like to start with the basics and go from there.
There is a huge amount of repetition in the process of drawing or copying and modifying individual items for each new piece of equipment and I would like to eliminate this.

I have 15 years AutoCAD experience but little on the programming side. Any advise on the best way to proceed would be much appreciated.
I have attached some sketches of a sink unit example indicating some of the basic variables.

Thanks in advance

Share this post

Link to post
Share on other sites
Can be done various ways using constraints, Dynamic blocks but the obvious a front end which asks questions or just break it down into a series of lisps with some smarts thrown in.

Bench L x W x T, Corner legs LxWxH std offsets y/n, internal legs y/n, Splash back L R F B all ? Height, lower support pick left & right Height above.

Make a start

[CODE]: draws bench type 1
(setq pt1 (getpoint "\n Pick Starting Point"))
(setq L (getreal "\nEnter length"))
(setq W (getreal "\nEnter Width"))
... some polar stuff
(command "rectang" Pt2 Pt3)


Share this post

Link to post
Share on other sites
Several years ago I started doing something similar through VBA for a friend of mine. The idea was to programatically build in 3D Autocad furniture modules - plate by plate through solids with the possibility to get Bill Of Quantities from the drawing (3D model). But we realised that it would be too much time (and money) consumming to create a programatical input and 3D model for a wide variaty of furniture. It will be probably easier and chipper to use some general use furniture software if it suffices your needs.

Share this post

Link to post
Share on other sites
[B]Step2 your turn[/B]

Had a bit of time next time though will be billing hours there is a number of people on this site that offer services for hire to do programs Lee-mac ? I may be interested also. The part that costs the money for what you want is the user friendly front end user error checking. I think this is a pretty good start if you want to run with it. Its just a courtesy to let others know on the forum where the post is up to.

[CODE]: draw plain bench with legs
; by Alan H Oct 2012
(setq pi2 (/ pi 2.0)) ; 90 degrees
(setq Pt1 (getpoint "\npick lower left corner point"))
(setq L (getreal "\nEnter length"))
(setq W (getreal "\nEnter width"))
(setq thick (- 0.0 (getreal "\nEnter bench thickness")))
(setq pt2 (polar pt1 0.0 L))
(setq pt3 (polar pt2 pi2 W))
; do stuff here like layers for now just draw
(command "rectang" pt1 pt3)
(command "extrude" "L" "" thick)
(setq OF1 (getreal "\nEnter Offset from length for legs"))
(setq OF2 (getreal "\nEnter offset from width for legs"))
(setq leg1 (getreal "\nEnter Hor size of leg"))
(setq leg2 (getreal "\nEnter Ver size of leg"))
(setq thick (+ (- 0.0 (getreal "\nEnter height of legs"))thick))
(setq pt4 (polar (polar pt1 0.0 OF1) pi2 OF2)) ;cnr of leg
(setq pt5 (polar (polar pt4 0.0 leg1) pi2 leg2))
(command "rectang" pt4 pt5)
(command "extrude" "L" "" thick)
(setq Cols (- L (+ (* 2.0 OF1) leg1)))
(setq rows (- W (+ (* 2.0 OF2) leg2)))
(command "array" "Last" "" "R" 2 2 rows cols)

(princ) ; exit quitely[/CODE] Edited by BIGAL
lowered legs under bench top

Share this post

Link to post
Share on other sites
Thanks for the feedback. Sorry haven't replied in a while. Joro, I was of the same frame of mind but feel that it would be of huge benefit to me both to learn this and to use the final product but am not sure how much of it I'd be able to do as I'm a novice with this side of CAD. BIGAL, appreciate your time spent. I will be taking time to learn this as the efficiency gained would save my time and sanity and having been working with AutoCAD for such a long time I should really have a grasp by now. I look forward to trying your code but might be biting off more than I can chew on this one for a first time project. I'm undecided which route to take as finding time to learn this much may be difficult but if I were to pay to have it set up it would give me more time to learn. If you could let me know the best way to go about getting a price on this or any other thoughts I'd appreciate it.

Thanks again

Share this post

Link to post
Share on other sites
1st thing copy and paste to notepad then Appload it answer all the questions, 2000 1000 12 25 25 30 50 1200

just need to keep track of your geometry pts draw a hand sketch while developing.


Share this post

Link to post
Share on other sites
Re pricing how many do you do this is the reallity question, how many different shapes, complete catalouge ? How long is a piece of string ?

Theres lots of people around who can do what you want you need to clarify exactly what you want and how smart you want things like the interface to be. Where are you in the world are you ? Happy with web contact, email or do you need real time conversations not at world wide telephone rates.

Ask 20 questions on the command line takes half the time compared to building Dialouges. It took me about an hour from scratch totally blank page, for above by the time I tested it added more etc changed some things do a HIDE the legs were adjusted. Adding more panels/ legs struts say 10-15 mins each maybe less as can copy and paste code. If this is the basis for a bigger project then would make each question a defun so can be applied to various shapes without rewriting code. (BENCHTOP) (LEGVER) (HORBAR)

A package I worked on was developed part time by 2 staff over a period of a year. Some things are quick others not.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now