Jump to content

Recommended Posts

Posted

I am trying to entmake a block definition which includes some solid hatching, in reference to this thread:

 

http://www.cadtutor.net/forum/showthread.php?t=35213

 

However, I am lost as to what parameters to specify in the entmake list.

 

I would appeciate any help on how to create the necessary table :)

 

I thank you for your time and patience.

 

Cheers

 

Lee

 

EDIT: Managed to work it out for myself - but any tips or pointers that anyone might have are welcomed :)

  • Replies 38
  • Created
  • Last Reply

Top Posters In This Topic

  • The Buzzard

    22

  • Lee Mac

    14

  • wizman

    3

Popular Days

Top Posters In This Topic

Posted

Also take note that the order of the DXF information is critical to its operation

Posted

I use the attached code to extract the DXF information and use it int the order displayed.

PRINTDXF2.LSP

Posted

Many thanks Buzzard - I selected the hatch that I had manually created and used it as a reference in the end - but it was deciding which values needn't be in the entmake reference which was causing the issue - but thank you for your reference and LISP :)

 

Oh, and btw I re-wrote your LISP more succinctly for you :D

 

(defun c:pdxf (/ pick)
 (if (setq pick (car (entsel "\nSelect Object: ")))
   (foreach x (entget pick)
     (print x)))
 (princ))

Posted

Many thanks Buzzard - I selected the hatch that I had manually created and used it as a reference in the end - but it was deciding which values needn't be in the entmake reference which was causing the issue - but thank you for your reference and LISP :)

 

Oh, and btw I re-wrote your LISP more succinctly for you :D

 

(defun c:pdxf (/ pick)
 (if (setq pick (car (entsel "\nSelect Object: ")))
   (foreach x (entget pick)
     (print x)))
 (princ))

 

Or if you wanted the textscreen:

 

(defun C:pdxf (/ pick)
 (if (setq pick (car (entsel "\nSelect Object: ")))
   (progn (textscr)
   (foreach x (entget pick)
     (print x))))
 (princ))

Posted

Take note to the values I use verses the ones the program supplies.

At the top of the the data I believe there is only one value you need to remove.

Hatches in entity make are very sensative in a way to recreate.

Posted

Thanks for the routine fix.

Posted

A better routine fix :D -- i addicted too quickly... :P

 

Deals with sub-ents as well:

 

(defun c:en (/ Obj eNxt)
 (if (setq Obj (car (entsel "\nSelect Object: ")))
   (progn (textscr)
     (foreach x (entget Obj)
       (print x))
     (if (setq eNxt (entnext Obj))
       (while (not (eq "SEQEND" (cdadr (entget eNxt))))
         (princ "\n\nSub:\n")
         (foreach x (entget eNxt)
           (print x)) (setq eNxt (entnext eNxt)))))) (princ))

Posted

You leave out DXF data -1 & 330 which are for the entity name

Posted

But also, it seems with the Hatch, you leave out a few others at the very end, such as this lot....

 

(450 . 0)
(451 . 0)
(460 . 0.0)
(461 . 0.0)
(452 . 1)
(462 . 1.0)
(453 . 2)
(463 . 0.0)
(63 . 5)
(421 . 255)
(463 . 1.0)
(63 . 7)
(421 . 16777215)
(470 . "LINEAR")

Posted

Those were not returned when I selected my hatch?

Where is those from?

Posted

I see now. You are veiwing the DXF help reference .

 

I only use what the program returns for a particular hatch and leave out entity name -1 & 330.

Posted

I just used the DXF printer (that I posted earlier) on a solid hatch?

Posted

Ok I understand now. The hatch in the file I gave you was ANSI31.

Posted

Just did a solid fill myself

 

Here is what I would leave out.

 

Refer to DXF section in help file for optional DXF data.

 

 

(-1 . <Entity name: 7ef65010>)    ;LEAVE OUT
(0 . "HATCH")
(330 . <Entity name: 7ef59cf8>)             ;LEAVE OUT
(5 . "28A")
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
(8 . "0")
(100 . "AcDbHatch")
(10 0.0 0.0 0.0)
(210 0.0 0.0 1.0)
(2 . "SOLID")
(70 . 1)
(71 . 1)
(91 . 1)
(92 . 1)
(93 . 4)
(72 . 1)
(10 37.7529 10.9995 0.0)
(11 37.7529 31.667 0.0)
(72 . 1)
(10 37.7529 31.667 0.0)
(11 17.0855 31.667 0.0)
(72 . 1)
(10 17.0855 31.667 0.0)
(11 17.0855 10.9995 0.0)
(72 . 1)
(10 17.0855 10.9995 0.0)
(11 37.7529 10.9995 0.0)
(97 . 1)
(330 . <Entity name: 7ef65008>)
(75 . 0)
(76 . 1)
(98 . 1)
(10 0.0 0.0 0.0)
(450 . 0)
(451 . 0)
(460 . 0.0)
(461 . 0.0)
(452 . 1)
(462 . 1.0)
(453 . 2)
(463 . 0.0)
(63 . 5)
(421 . 255)
(463 . 1.0)
(63 . 7)
(421 . 16777215)
(470 . "LINEAR")

Posted

Ok, thanks Buzzard :)

 

btw, did you see my updated code fix?

Posted

use entmakex instead of entmake, and you dont need to leave out any what entget gives.

Posted

Yes I just used it.

 

I posted a thank you before.

Thanks Again.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...