making blocks
CADForums.net Forum Index CADForums.net
Discussion of AutoCAD and other CAD software.
 
 FAQFAQ   MemberlistMemberlist     RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Google
 
Web cadforums.net
making blocks

 
Post new topic   Reply to topic    CADForums.net Forum Index -> AutoCAD
Author Message
Roy Knapp
Guest





Posted: Wed Jan 26, 2005 10:01 pm    Post subject: making blocks Reply with quote

I would like to be able to make and rewrite a block in lisp without using
the syntax command "block".

surely there is a way. roy is just being stupid again. and can I stay with
good old lisp, or must I learn VBA?

thanks.

Back to top
Paul Turvill
Guest





Posted: Wed Jan 26, 2005 10:24 pm    Post subject: Re: making blocks Reply with quote

While it's a rather complex process, you *can* use (entmake ...) to create
block definitions. I'm sure that there's an ActiveX method in Visual LISP as
well, but I haven't explored that.
___

"Roy Knapp" <amconfused@me.edu> wrote in message
news:Xns95EA701F9C14Eroynish@216.168.3.44...
Quote:
I would like to be able to make and rewrite a block in lisp without using
the syntax command "block".

surely there is a way. roy is just being stupid again. and can I stay with
good old lisp, or must I learn VBA?

thanks.
Back to top
Roy Knapp
Guest





Posted: Thu Jan 27, 2005 12:25 am    Post subject: Re: making blocks Reply with quote

"Paul Turvill" <nospam@turvill.com> wrote in
news:tqydnUtv17rUT2rcRVn-2w@whidbeytel.com:

Quote:
While it's a rather complex process, you *can* use (entmake ...) to
create block definitions. I'm sure that there's an ActiveX method in
Visual LISP as well, but I haven't explored that.
___

maybe the application is salient. we draw house plans. I make a block of

each floor, insert a row of blocks, rotate 90 degrees for each sucessive
block, and just draw extion lines from blocks of each floor to create and
modifiy the elevations. block 1 for the basement, block 2 for the main
floor, block 3 for the second story. etc.

then I have some lisp that switches blocks, so location and rotation remain
and I can draw my extention lines for the next story's window & door
locations....

when we edit the floor plans, I redefine the block and can just draw new
extention lines to update the elevations.

I was thinking I could save points for window selection sets to select the
objects and revise the blocks and just tell autocad which block to update.

maybe I am being stupid, maybe this is a job for exrefs - which I have
avoided using for years, and therefore do not understand very well. I think
I like the idea of keeping the floor plans all in one file - although I
guess I could work in separate files and merge them when the job was
done......

would I ssget "w" and use foreach to pass to a list I could entmake?

?

Back to top
Michael Bulatovich
Guest





Posted: Thu Jan 27, 2005 2:16 am    Post subject: Re: making blocks Reply with quote

I'm going to digress a minute from the VBA question
so ignore me if you are set on doing it this way....

I have all plans IN THE SAME PLACE IN THE SAME FILE.
My elevations are developed around the plans, and are quickly accessed
using saved views and UCSs. The plans are as editable as the elevations
when you are working out the elevations (no need for blocks).

The method is based on logical prefixes or suffixes for layer names grouping
layers to produce a type of drawing (elevation, basement plan, etc.).
Wildcards then allow you to quickly freeze temporarily irrelevant parts of
the
drawing as you work. This is easy with lisp or buttons, or even the command
line.
Saved tiled viewport setups give easy access to both an elevation (or
section)
AND the relevant portion of the plan over and over again-quickly.

Floating VPORTS filter out the irrelevant stuff for each drawing, and are
set and zoomed for appropriate views and scales. In modelspace it's a
computerized
equivalent of a very, very antique way of drafting buildings. In paperspace
you get
discreet drawings on titleblocks as is modern practice.

Other benefits include easy comparison of plans of different levels with one
another-or
elevations with sections,easy generation of geometry on one level from one
another, it cuts out the "housekeeping"
issues associated with blocks and xrefs and eliminates the impediments to
the flow of work
that comes out of having it spread accross separate files.

Computers are "way" fast enough to handle fairly complex buildings in one
largish file. Houses are no problem at all. I know that's a lot to consider
at once,
but I'd be happy to email you an example you could poke around-let me know.

"Roy Knapp" <angus@thermopyle.com> wrote in message
news:Xns95EA8891B9B11roynish@216.168.3.44...
Quote:
"Paul Turvill" <nospam@turvill.com> wrote in
news:tqydnUtv17rUT2rcRVn-2w@whidbeytel.com:

While it's a rather complex process, you *can* use (entmake ...) to
create block definitions. I'm sure that there's an ActiveX method in
Visual LISP as well, but I haven't explored that.
___

maybe the application is salient. we draw house plans. I make a block of
each floor, insert a row of blocks, rotate 90 degrees for each sucessive
block, and just draw extion lines from blocks of each floor to create and
modifiy the elevations. block 1 for the basement, block 2 for the main
floor, block 3 for the second story. etc.

then I have some lisp that switches blocks, so location and rotation
remain
and I can draw my extention lines for the next story's window & door
locations....

when we edit the floor plans, I redefine the block and can just draw new
extention lines to update the elevations.

I was thinking I could save points for window selection sets to select the
objects and revise the blocks and just tell autocad which block to update.

maybe I am being stupid, maybe this is a job for exrefs - which I have
avoided using for years, and therefore do not understand very well. I
think
I like the idea of keeping the floor plans all in one file - although I
guess I could work in separate files and merge them when the job was
done......

would I ssget "w" and use foreach to pass to a list I could entmake?

?
Back to top
Roy Knapp
Guest





Posted: Thu Jan 27, 2005 3:45 am    Post subject: Re: making blocks Reply with quote

"Michael Bulatovich" <Please@dont.try> wrote in news:RNTJd.7773$mA5.437556
@news20.bellglobal.com:

Quote:


I used to produce engineering drawings and I would work from various

architect's base plans. They had no single standard, and I developed a
layer naming system that worked on prefixes and suffix groups. I understand
and appreciate the concept.

If I read you right, (let me use walls as my example) you might have a line
in 1-WALLS layer and a similar line in layer 2-WALLS (second story). If it
were a simple structure on an outside wall, you could stretch them both at
the same time....I see possibilities. Right now instead of using different
layers I just separate the plans some even distance in the Y.

"My elevations are developed around the plans"

Do I take it that your elevations are in a polar array around your floor
plans? That would make wicked sence in a way that bends the mind of someone
who has been extending left to right from front to right to back
elevations......

my elevations (presently) are drawn with the main level floor at Y = 0.00
and my window jambs normally set at 6'- 10". a single construction line
gives me window height in elevations. in a polar array (of elevations) a
rectangle would do the same thing.....

did I mention this is mind bending? does the soul good.

no problem rotating a UCS and saving the view, just don't do it much.

BUT I HAVE OTHER APPLICATIONS FOR MAKING BLOCKS WITH LISP.
and the very best one is simply that I want to.

thanks

roy
Back to top
Michael Bulatovich
Guest





Posted: Thu Jan 27, 2005 4:52 am    Post subject: Re: making blocks Reply with quote

"Roy Knapp" <imapsuedonym> wrote in message
news:Xns95EAAA7D2B65Aroynish@216.168.3.44...
<snip>

You got the plan part down cold.

Quote:
"My elevations are developed around the plans"

Do I take it that your elevations are in a polar array around your floor
plans? That would make wicked sence in a way...

Yup.

Quote:
my elevations (presently) are drawn with the main level floor at Y = 0.00
and my window jambs normally set at 6'- 10". a single construction line
gives me window height in elevations. in a polar array (of elevations) a
rectangle would do the same thing.....

did I mention this is mind bending? does the soul good.

You're starting to get it. On the rectangle I can also mirror on the 45
between
adjacent elevations or flip to opposite ones. If you want, go to my site and
email me. I'll send you a sample.
--


MichaelB
www.michaelbulatovich.com
Back to top
Paul Turvill
Guest





Posted: Thu Jan 27, 2005 6:36 am    Post subject: Re: making blocks Reply with quote

I'd say if you follow the methods used by Michael (and in our shop, as well,
BTW) you wouldn't have any need for all those blocks. All you need to do is
to add an appropriately named UCS for each of your "splayed" elevations, and
transferring window, door, and wall locations becomes a snap. Plotting as
well; just set up viewports for each plan and each elevation, each with the
appropriate layering scheme, UCS and scale.
___

"Roy Knapp" <angus@thermopyle.com> wrote in message
news:Xns95EA8891B9B11roynish@216.168.3.44...
Quote:
"Paul Turvill" <nospam@turvill.com> wrote in
news:tqydnUtv17rUT2rcRVn-2w@whidbeytel.com:

maybe the application is salient. we draw house plans. I make a block of
each floor, insert a row of blocks, rotate 90 degrees for each sucessive
block, and just draw extion lines from blocks of each floor to create and
modifiy the elevations. block 1 for the basement, block 2 for the main
floor, block 3 for the second story. etc.
Back to top
Steve
Guest





Posted: Thu Jan 27, 2005 10:43 pm    Post subject: Re: making blocks Reply with quote

Sorry to intrude but when we do our elevations, we do it in ONE easy step
without named UCS or viewport rotations:
Instead of blocks we XREF each floor ONCE and copy, rotate and clip at will
(takes five seconds). When anyone opens the elevation, the floor plans are
in situ, updated and can be unloaded anytime when done. Clipping the plans
to show only the facade being worked on will reduce load times and memory
loads. (five seconds).

Before you've added named UCS and setting up viewports I'm done.





"Paul Turvill" <nospam@turvill.com> wrote in message
news:jcednZJWLusp2GXcRVn-oQ@whidbeytel.com...
Quote:
I'd say if you follow the methods used by Michael (and in our shop, as
well,
BTW) you wouldn't have any need for all those blocks. All you need to do
is
to add an appropriately named UCS for each of your "splayed" elevations,
and
transferring window, door, and wall locations becomes a snap. Plotting as
well; just set up viewports for each plan and each elevation, each with
the
appropriate layering scheme, UCS and scale.
___

"Roy Knapp" <angus@thermopyle.com> wrote in message
news:Xns95EA8891B9B11roynish@216.168.3.44...
"Paul Turvill" <nospam@turvill.com> wrote in
news:tqydnUtv17rUT2rcRVn-2w@whidbeytel.com:

maybe the application is salient. we draw house plans. I make a block of
each floor, insert a row of blocks, rotate 90 degrees for each sucessive
block, and just draw extion lines from blocks of each floor to create
and
modifiy the elevations. block 1 for the basement, block 2 for the main
floor, block 3 for the second story. etc.

Back to top
Steve
Guest





Posted: Thu Jan 27, 2005 10:51 pm    Post subject: Re: making blocks Reply with quote

<<Computers are "way" fast enough to handle fairly complex buildings in one
largish file. >>

Excuse me but if such a scheme was implemented in a collaborative work
group, it would not work. With XREFs used as overlays, with paths saved, it
allows more flow and concurrent work. Having multiple files is more
flexible and requires less housekeeping than you think.


"Michael Bulatovich" <Please@dont.try> wrote in message
news:RNTJd.7773$mA5.437556@news20.bellglobal.com...
Quote:
I'm going to digress a minute from the VBA question
so ignore me if you are set on doing it this way....

I have all plans IN THE SAME PLACE IN THE SAME FILE.
My elevations are developed around the plans, and are quickly accessed
using saved views and UCSs. The plans are as editable as the elevations
when you are working out the elevations (no need for blocks).

The method is based on logical prefixes or suffixes for layer names
grouping
layers to produce a type of drawing (elevation, basement plan, etc.).
Wildcards then allow you to quickly freeze temporarily irrelevant parts of
the
drawing as you work. This is easy with lisp or buttons, or even the
command
line.
Saved tiled viewport setups give easy access to both an elevation (or
section)
AND the relevant portion of the plan over and over again-quickly.

Floating VPORTS filter out the irrelevant stuff for each drawing, and are
set and zoomed for appropriate views and scales. In modelspace it's a
computerized
equivalent of a very, very antique way of drafting buildings. In
paperspace
you get
discreet drawings on titleblocks as is modern practice.

Other benefits include easy comparison of plans of different levels with
one
another-or
elevations with sections,easy generation of geometry on one level from one
another, it cuts out the "housekeeping"
issues associated with blocks and xrefs and eliminates the impediments to
the flow of work
that comes out of having it spread accross separate files.

Computers are "way" fast enough to handle fairly complex buildings in one
largish file. Houses are no problem at all. I know that's a lot to
consider
at once,
but I'd be happy to email you an example you could poke around-let me
know.

"Roy Knapp" <angus@thermopyle.com> wrote in message
news:Xns95EA8891B9B11roynish@216.168.3.44...
"Paul Turvill" <nospam@turvill.com> wrote in
news:tqydnUtv17rUT2rcRVn-2w@whidbeytel.com:

While it's a rather complex process, you *can* use (entmake ...) to
create block definitions. I'm sure that there's an ActiveX method in
Visual LISP as well, but I haven't explored that.
___

maybe the application is salient. we draw house plans. I make a block of
each floor, insert a row of blocks, rotate 90 degrees for each sucessive
block, and just draw extion lines from blocks of each floor to create
and
modifiy the elevations. block 1 for the basement, block 2 for the main
floor, block 3 for the second story. etc.

then I have some lisp that switches blocks, so location and rotation
remain
and I can draw my extention lines for the next story's window & door
locations....

when we edit the floor plans, I redefine the block and can just draw new
extention lines to update the elevations.

I was thinking I could save points for window selection sets to select
the
objects and revise the blocks and just tell autocad which block to
update.

maybe I am being stupid, maybe this is a job for exrefs - which I have
avoided using for years, and therefore do not understand very well. I
think
I like the idea of keeping the floor plans all in one file - although I
guess I could work in separate files and merge them when the job was
done......

would I ssget "w" and use foreach to pass to a list I could entmake?

?
Back to top
Steve
Guest





Posted: Thu Jan 27, 2005 11:16 pm    Post subject: Re: making blocks Reply with quote

For what you doing forget blocks (good for chairs and doors and
fenestration) use XREFs instead for better effeciency.

Think of Xrefs as an extension of block or blocks kept in a distinct file
but placed in your drawing.
Insert any dwg like block.: Just type XR at the command line and 'attach'
dwg as an overlay and save the 'path' so you can have to drawing in place
next time you open the file.

The OPTIONS menu gives additional settings for xrefs: in OPEN/SAVE 'enable
with copy' so others can open and edit the drawing.

We work on projcets that can change and frequently require updates. Using
xrefs save a ton of time.



"Roy Knapp" <angus@thermopyle.com> wrote in message
news:Xns95EA8891B9B11roynish@216.168.3.44...
Quote:
"Paul Turvill" <nospam@turvill.com> wrote in
news:tqydnUtv17rUT2rcRVn-2w@whidbeytel.com:

While it's a rather complex process, you *can* use (entmake ...) to
create block definitions. I'm sure that there's an ActiveX method in
Visual LISP as well, but I haven't explored that.
___

maybe the application is salient. we draw house plans. I make a block of
each floor, insert a row of blocks, rotate 90 degrees for each sucessive
block, and just draw extion lines from blocks of each floor to create and
modifiy the elevations. block 1 for the basement, block 2 for the main
floor, block 3 for the second story. etc.

then I have some lisp that switches blocks, so location and rotation
remain
and I can draw my extention lines for the next story's window & door
locations....

when we edit the floor plans, I redefine the block and can just draw new
extention lines to update the elevations.

I was thinking I could save points for window selection sets to select the
objects and revise the blocks and just tell autocad which block to update.

maybe I am being stupid, maybe this is a job for exrefs - which I have
avoided using for years, and therefore do not understand very well. I
think
I like the idea of keeping the floor plans all in one file - although I
guess I could work in separate files and merge them when the job was
done......

would I ssget "w" and use foreach to pass to a list I could entmake?

?
Back to top
Paul Turvill
Guest





Posted: Thu Jan 27, 2005 11:30 pm    Post subject: Re: making blocks Reply with quote

Sure, that's another way. But with our method, we have everything in one
drawing file. No XRefs to manage (except for standard details and the like),
and a good template file plus a little LISP manages all of the Views and
Named UCS's so there's virtually no time used in setting up anything. No
objects of any kind to rotate or clip, so I'm willing to bet that our method
takes as little or perhaps less time than what you describe, and it
certainly makes file maintenance a snap.

One of the great things about AutoCAD is the many ways there are to achieve
a similar result. I don't take any issue with the way you've chosen to do
things, but I'll still stick with our tried-and-true methods that have
served us very well since the very dawn of Paper Space.
___

"Steve" <elbazarc@videotron.ca> wrote in message
news:3O9Kd.10644$bh6.203875@weber.videotron.net...
Quote:

Before you've added named UCS and setting up viewports I'm done.
Back to top
Michael Bulatovich
Guest





Posted: Fri Jan 28, 2005 2:55 am    Post subject: Re: making blocks Reply with quote

Having xrefs in the drawing, is not that different from using blocks
in so far as some of the info is immediately editable and some is not. Also,
Xreffing, clipping, rotating etc. seems like more than ONE step to me,
but if it works for you....great.

I'll admit my way of working is not for everyone. It's fairly complex
compared to the usual approach and there is a learning curve to it,
but no one I know who has learned it has ever gone back to their old ways
of drawing small to medium-sized buildings. Coordination is easier, and
you can actually generate geometry quickly, and it allows the drawing
process
to more closely follow the thought process in design and through revisions.

"Steve" <elbazarc@videotron.ca> wrote in message
news:3O9Kd.10644$bh6.203875@weber.videotron.net...
Quote:
Sorry to intrude but when we do our elevations, we do it in ONE easy step
without named UCS or viewport rotations:
Instead of blocks we XREF each floor ONCE and copy, rotate and clip at
will
(takes five seconds). When anyone opens the elevation, the floor plans are
in situ, updated and can be unloaded anytime when done. Clipping the plans
to show only the facade being worked on will reduce load times and memory
loads. (five seconds).

Before you've added named UCS and setting up viewports I'm done.





"Paul Turvill" <nospam@turvill.com> wrote in message
news:jcednZJWLusp2GXcRVn-oQ@whidbeytel.com...
I'd say if you follow the methods used by Michael (and in our shop, as
well,
BTW) you wouldn't have any need for all those blocks. All you need to
do
is
to add an appropriately named UCS for each of your "splayed" elevations,
and
transferring window, door, and wall locations becomes a snap. Plotting
as
well; just set up viewports for each plan and each elevation, each with
the
appropriate layering scheme, UCS and scale.
___

"Roy Knapp" <angus@thermopyle.com> wrote in message
news:Xns95EA8891B9B11roynish@216.168.3.44...
"Paul Turvill" <nospam@turvill.com> wrote in
news:tqydnUtv17rUT2rcRVn-2w@whidbeytel.com:

maybe the application is salient. we draw house plans. I make a block
of
each floor, insert a row of blocks, rotate 90 degrees for each
sucessive
block, and just draw extion lines from blocks of each floor to create
and
modifiy the elevations. block 1 for the basement, block 2 for the main
floor, block 3 for the second story. etc.



Back to top
Roy Knapp
Guest





Posted: Fri Jan 28, 2005 10:00 am    Post subject: Re: making blocks Reply with quote

"Steve" <elbazarc@videotron.ca> wrote in
news:DgaKd.10721$bh6.216382@weber.videotron.net:

Quote:
For what you doing forget blocks (good for chairs and doors and
fenestration) ......................................

based on the passion of the responses, I would say I have struck a nerve.
Michael, I will get (back) to your site if my boss (the wife) allows me
the time before I forget. If for nothing but to see an example of your
work.

I had guessed that a 45 could be done in a similar fashion, and was
thinking about some of our "more fun" jobs where it would have been
handy. Still playing with the concept.(in my mind)

XREFS: guys, my perspective may be skewed. let me assume that the
companies you work for do good work. not hard to imagine. very many of
the files I end up working with are, well, crap. seems like the larger
number of firms involved the worse the final file gets.

(at times I still do a little engineering, I add the fire alarm for a
friend. by then half a dozen companies have "contributed" their
"standards" to the files. it usually is not pretty.)

I tell you this because I think it explains my bias against XREFS. I
don't think I've seen them used the same way twice, and from my end, it
is very confusing. usually when I subcontract on one of these, it is a
government job, and the files were not a job, but a career to the
draftsmen.

as to the original question, I have made progress:

(cond ((entmake
(list '(0 . "BLOCK")
'(100 . "AcDbEntity")
'(100 . "AcDbBlockBegin")
(cons 2 blockname)
'(70 . 0)
'(10 0.0 0.0 0.0)
)
)

(entmake '((0 . "LINE") (10 0.0 0.0 0.0) (11 10.0 10.0 0.0)))
(entmake '((0 . "LINE") (10 10.0 10.0 0.0) (11 -10.0 10.0 0.0)))
(entmake '((0 . "LINE") (10 -10.0 10.0 0.0) (11 0.0 0.0 0.0)))
(entmake '((0 . "LINE") (10 0.0 10.0 0.0) (11 0.0 20.0 0.0)))
(entmake '((0 . "LINE") (10 0.0 20.0 0.0) (11 50.0 20.0 0.0)))

(entmake (list '(0 . "ENDBLK") '(100 . "AcDbBlockEnd")))
)
)
)

if I cut & pasted right, this runs.
now I just need to get my ssget and foreach loop to repeat the entmake
command, for which I have old stuff of my own to start from.

THANKS ALL! and if you don't hear from me for awhile, it's not that I
don't enjoy the company.

:)
Back to top
Carlos00micz
Guest





Posted: Fri Feb 11, 2005 1:39 am    Post subject: Re: making blocks Reply with quote

brz
Użytkownik "Steve" <elbazarc@videotron.ca> napisał w wiadomości
news:3O9Kd.10644$bh6.203875@weber.videotron.net...
Quote:
Sorry to intrude but when we do our elevations, we do it in ONE easy step
without named UCS or viewport rotations:
Instead of blocks we XREF each floor ONCE and copy, rotate and clip at
will
(takes five seconds). When anyone opens the elevation, the floor plans are
in situ, updated and can be unloaded anytime when done. Clipping the plans
to show only the facade being worked on will reduce load times and memory
loads. (five seconds).

Before you've added named UCS and setting up viewports I'm done.





"Paul Turvill" <nospam@turvill.com> wrote in message
news:jcednZJWLusp2GXcRVn-oQ@whidbeytel.com...
I'd say if you follow the methods used by Michael (and in our shop, as
well,
BTW) you wouldn't have any need for all those blocks. All you need to
do
is
to add an appropriately named UCS for each of your "splayed" elevations,
and
transferring window, door, and wall locations becomes a snap. Plotting
as
well; just set up viewports for each plan and each elevation, each with
the
appropriate layering scheme, UCS and scale.
___

"Roy Knapp" <angus@thermopyle.com> wrote in message
news:Xns95EA8891B9B11roynish@216.168.3.44...
"Paul Turvill" <nospam@turvill.com> wrote in
news:tqydnUtv17rUT2rcRVn-2w@whidbeytel.com:

maybe the application is salient. we draw house plans. I make a block
of
each floor, insert a row of blocks, rotate 90 degrees for each
sucessive
block, and just draw extion lines from blocks of each floor to create
and
modifiy the elevations. block 1 for the basement, block 2 for the main
floor, block 3 for the second story. etc.



Back to top
 
Post new topic   Reply to topic    CADForums.net Forum Index -> AutoCAD All times are GMT
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Windows Server DSP VoIP Electronics New Topics
Powered by phpBB