Hello there,
if you want to make the investment in learning CAD and want to do drawings 
programmatically, then FreeCAD with the the CadQuery Module for FreeCAD 
(https://github.com/jmwright/cadquery-freecad-module) is an elegant option.
CheersBrian

On Tue, 2017-11-28 at 15:37 +1100, Erik Christiansen wrote:
> On 23.11.17 21:35, Doug wrote:
> > On 11/23/2017 05:06 PM, Emanuel Berg wrote:
> > > Joe wrote:
> > > 
> > > > What you won't be given is a dialog box with
> > > > X and Y size and coordinates, and invited to
> > > > edit them, it doesn't work that way.
> > > > That's how an object-oriented drawing program
> > > > would work.
> > > 
> > > Well, this is certainly a first that I'm an
> > > OO guy by intuition, because yes, that is how
> > > I would expect it to work. But that is drawing,
> > > not CAD?
> > > 
> > > I wonder if I should get an OO drawing
> > > application instead, and what would that be -
> > > Dia?
> > > 
> > > Or perhaps learn CAD as that's more powerful in
> > > the long run?
> > > 
> > 
> > Learning CAD is a hard road, but a worthwhile one, I think, because it is so
> > versatile.
> > Which one you learn will make some difference, depending on what you wind up
> > wanting to do with it.
> 
> After trying to get various GUI drawing packages to function at the most
> basic level, and failing to produce anything, I'm just finishing the 8
> drawings for my new house build (floor plan, elevations, sections, and
> site plan), using raw postscript. That has proven a better fit for a
> retired programmer.
> 
> I just made up functions for wall sections, windows, smoke alarms, ...,
> and then placed them programmatically at the desired coordinates, with
> the desired orientation. There is never any doubt about where a
> structure is located, and wall lengths are auto-calculated by summing
> the lengths of individual components. Using that in a "dimension"
> primitive ensures that the annotated dimension is real. And saving some
> floorplan offsets in variables ensured that the corresponding features
> were accurately placed in the sections on the next page.
> 
> And a variable was used for wallheight. When I was talked into changing
> from 2.4m to 2.7m ceilings, editing one variable instantly lifted the
> roof on four elevation and two section drawings. 
> 
> The 8 detailed drawings required around 800 lines of postscript, but
> that's creeping up toward 900 now that I'm adding notes and
> specifications.
> 
> It's faster for me, because GUI produced nothing, but not everyone
> enjoys first programming a stack-based language for a door:
> 
> /door                            % S: length (door width)
> {     dup                        
> /wall_length exch wall_length add 60 add def % Keep global variable outside 
> dict scope.
>       1 dict begin              % 60 = 2*30 jambs.
>       /length exch def          % Take length off the stack.
>       30 100 box
>       currentpoint translate     
>       0 length lineto length length length 0 length arct 30 100 box gstroke
>       gsave 200 300 moveto length buf cvs show                       % Size 
> text.
>       grestore
>       end                                          % End of local var scope.  
> } def
> 
> but after that, "820 door" chains an 820 mm wide door on the end of the
> current wall, in the current orientation, with lines for the open door
> and swing arc, plus the dimension in text. The variable wall_length is
> kept in global scope, because it accumulates the whole wall length for
> dimensioning purposes.
> 
> If I were building more than one house, it might almost be worth taking
> the thing beyond a one-off convenience hack, but the output is currently
> in for planning approval, and building approval will hopefully not
> require major edits. (It is, however, a delight to be able to edit my
> drawings with Vim. :-))
> 
> For viewing, ps2pdf, then xpdf or whatever
> Applications->Graphics->Document_Viewer is in reality, do the job.
> It's worth knowing that 'r' causes xpdf to reload the pdf file.
> And when diving into postscript, it's worthwhile having downloaded the
> BLUEBOOK.PDF first.
> 
> Erik
> 

Reply via email to