Jump to content

CAD Catalog


kellenhaskell

Recommended Posts

I have began working for a Millwork company that has thousands of Trim Profiles (Case Board, Base Board, Crown, T&G, etc...). Each Profile is saved individually as a DXF with a Number(name, mtext) attached.

 

For the Sales Side of things, we like to keep a Catalog showing every single Profile that we offer. This Catalog is essentially one giant DWG File with all the profiles arranged in it per page. The only way that this Catalog of Profiles is kept up to date, is by saving each new profile as its own DXF, then Copying the Item and Number(Name) and pasting it in the Master DWG File.

 

The catalog has not been updated since sometime in 2008-2009.

 

My question can be broke down in two parts.

 

A. Is there a way to pull a list of DXF Files (anywhere from 25-250 dxf files) and compile them in one file? (this would help get catalog brought up to speed)

 

B. Is there a way to have each file added to the Catalog as its created, other than copypasta each time I draw a new profile? (this would be used to actively update the catalog every time we get a new profile)

 

 

I feel that I already know my answers are to do it the hard way (open indiv, copy, ctrl tab, paste...repeat), and to actively paste each new profile in the master as its created. But hey, figured I might as well ask. Thanks for any and all help.

Link to comment
Share on other sites

Well first off the Master catalog should be populated with Xrefs of the individual profiles. Every time an existing profile is revised this will be reflected in the Master catalog when it is opened. Doesn't that make more sense?

 

As far as added new profiles to the catalog I have no suggestions at this time. But I'll think on it some more.

Link to comment
Share on other sites

If you're adept at coding Visual LISP, vl-Directory-Files, and vla-AttachExternalReference are your friends. :thumbsup:

 

My first thought would be to setup a check function in AcadDoc.lsp that when you open a drawing, it would check to see if the DWGNAME System Variable matches your 'master catalog' drawing name, and if so, programmatically compare the block references that exist within your 'master catalog's' Blocks Collection against those returned in the list of Strings by vl-Directory-Files for the predetermined file path (where you blocks are located).

 

Here's a quick example:

 

(vl-load-com)

((lambda (dwgName / blocks newBlocks)
  (if (and (= dwgName "[color=red][b]<YourMasterDrawingName>[/b][/color]")
           (setq blocks (vl-directory-files "[color=red][b]<YourFilePath>[/b][/color]" "*.dwg" 1))
      )
    (progn
      (foreach block blocks
        (if (not (tblsearch "block" (vl-filename-base block)))
          (setq newBlocks (cons block newBlocks))
        )
      )
      (if newBlocks
        (progn
          (textpage)
          (prompt "\n\n  >>  New catalog items available: \n")
          (foreach block (reverse newBlocks)
            (prompt (strcat "\n\t\t\t" block))
          )
          (terpri)
        )
      )

    )
  )
)
 (getvar 'dwgname)
)

 

HTH

 

**Edit - You can get to the automated XREF attachment later, as there's a bit more complexity involved.

Link to comment
Share on other sites

Yeah Renderman had the same idea find out whats not in the master, one question though kellenhaskell what would be the proceedure if you had say 5 new dwgs but two are to be added to an existing catalog page, the others to a new page all together ? Are the pages say layout tabs or areas on the master dwg. Renderman is well under way but it probably would be good to get an idea of how your master dwg is arranged now. The auto arranging would be like a stage 4 in the programing.

 

1 check whats missing "Completed"

2 bring in missing "place xref outside existing objects just use extents"

3 do something "smarter version of 2"

4 arrange automatically "arrange automatically"

Link to comment
Share on other sites

is it posible for you to use a sheet set manager?

that way each profile can stay in their own file but added to list of sheets in sheet set as and when required. and sheet sets can be used for publish multisheets.

Link to comment
Share on other sites

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...