Jump to content

Recommended Posts

Posted

Hi All,

 

This is my first post, first of many. I would like your advise on the following issue:

 

Our company uses a master specification (basically multi-lines of electrical specifiations) on our drawings, we add or remove to this spec depending on projects, sometimes I hardly have time to manually edit and renumber each specification - due to the number of projects I have.

 

So basically I would like to insert text (or mtext) from a master drawing and manipulate and renumber in the new project via a lisp routine. Is this possible ? Or am I being too ambitious?

 

One method I thought of was loading the master spec into an excel file and writing a vba program to export selected entries to cad (though I dont know if the text will be exported as an object or actual text).

 

Sorry for the long post. I would really appreciate your input.

Posted

If I've correctly understood your requirements, you might be interested in this program by CAB (that part of the site may require membership, though its well worth it - epic forum).

Posted

Thanks! The program by CAB is a good starting point, I can easily build on that.

Posted

Kind of a kludge, but it works for me:

 

[b][color=BLACK]([/color][/b]defun c:gnote [b][color=FUCHSIA]([/color][/b]/ nl dn vl fl dc ts sp[b][color=FUCHSIA])[/color][/b]

[b][color=FUCHSIA]([/color][/b]defun remove [b][color=NAVY]([/color][/b]expr lst[b][color=NAVY])[/color][/b][color=#8b4513];;;TonyT or VNesterowski[/color]
  [b][color=NAVY]([/color][/b]apply 'append [b][color=MAROON]([/color][/b]subst nil [b][color=GREEN]([/color][/b]list expr[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]mapcar 'list lst[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]

[color=#8b4513];;;SORT A LIST OF NUMBERS[/color]
[b][color=FUCHSIA]([/color][/b]defun sil [b][color=NAVY]([/color][/b]l / m o[b][color=NAVY])[/color][/b]
[b][color=NAVY]([/color][/b]while l [b][color=MAROON]([/color][/b]setq m [b][color=GREEN]([/color][/b]apply 'max l[b][color=GREEN])[/color][/b]
               o [b][color=GREEN]([/color][/b]cons m o[b][color=GREEN])[/color][/b]
               l [b][color=GREEN]([/color][/b]remove m l[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
o[b][color=FUCHSIA])[/color][/b]

 [b][color=FUCHSIA]([/color][/b]setq nl '[b][color=NAVY]([/color][/b][b][color=MAROON]([/color][/b]1 . [color=#2f4f4f]"Standard Note 1"[/color][b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]2 . [color=#2f4f4f]"Standard Note 2"[/color][b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]3 . [color=#2f4f4f]"Standard Note 3"[/color][b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]4 . [color=#2f4f4f]"Standard Note 4"[/color][b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]5 . [color=#2f4f4f]"Standard Note 5"[/color][b][color=MAROON])[/color][/b]

            [b][color=MAROON]([/color][/b]10 . [color=#2f4f4f]"Option 1 Note 1"[/color][b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]11 . [color=#2f4f4f]"Option 1 Note 2"[/color][b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]12 . [color=#2f4f4f]"Option 1 Note 3"[/color][b][color=MAROON])[/color][/b]

            [b][color=MAROON]([/color][/b]20 . [color=#2f4f4f]"Option 2 Note 1"[/color][b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]21 . [color=#2f4f4f]"Option 2 Note 2"[/color][b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]22 . [color=#2f4f4f]"Option 2 Note 3"[/color][b][color=MAROON])[/color][/b]

            [b][color=MAROON]([/color][/b]30 . [color=#2f4f4f]"Option 3 Note 1"[/color][b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]31 . [color=#2f4f4f]"Option 3 Note 2"[/color][b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]32 . [color=#2f4f4f]"Option 3 Note 3"[/color][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]




  [b][color=FUCHSIA]([/color][/b]setq vl '[b][color=NAVY]([/color][/b]1 2 3 4 5[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]progn
            [b][color=MAROON]([/color][/b]textpage[b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]foreach a nl
              [b][color=GREEN]([/color][/b]prin1 a[b][color=GREEN])[/color][/b]
              [b][color=GREEN]([/color][/b]princ [color=#2f4f4f]"\n"[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]princ [color=#2f4f4f]"\n"[/color][b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]prin1 vl[b][color=MAROON])[/color][/b]
            [b][color=MAROON]([/color][/b]setq dn [b][color=GREEN]([/color][/b]getint [color=#2f4f4f]"\nDetail Number To Add <Minus To Remove / Enter To Exit>:   "[/color][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
         [b][color=NAVY]([/color][/b]cond [b][color=MAROON]([/color][/b][b][color=GREEN]([/color][/b]and [b][color=BLUE]([/color][/b]minusp dn[b][color=BLUE])[/color][/b]
                     [b][color=BLUE]([/color][/b]member [b][color=RED]([/color][/b]abs dn[b][color=RED])[/color][/b] vl[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
                [b][color=GREEN]([/color][/b]setq vl [b][color=BLUE]([/color][/b]remove [b][color=RED]([/color][/b]abs dn[b][color=RED])[/color][/b] vl[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
               [b][color=MAROON]([/color][/b][b][color=GREEN]([/color][/b]and [b][color=BLUE]([/color][/b]assoc dn nl[b][color=BLUE])[/color][/b]
                     [b][color=BLUE]([/color][/b]not [b][color=RED]([/color][/b]member dn vl[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
                [b][color=GREEN]([/color][/b]setq vl [b][color=BLUE]([/color][/b]cons dn vl[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
         [b][color=NAVY]([/color][/b]setq vl [b][color=MAROON]([/color][/b]sil vl[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]

[color=#8b4513];;;MAKE THE ITEMIZED LIST[/color]
  [b][color=FUCHSIA]([/color][/b]setq dc 1[b][color=FUCHSIA])[/color][/b]
  [b][color=FUCHSIA]([/color][/b]setq fl nil[b][color=FUCHSIA])[/color][/b]
  [b][color=FUCHSIA]([/color][/b]foreach v vl
     [b][color=NAVY]([/color][/b]setq fl [b][color=MAROON]([/color][/b]cons [b][color=GREEN]([/color][/b]strcat [b][color=BLUE]([/color][/b]itoa dc[b][color=BLUE])[/color][/b] [color=#2f4f4f]" . "[/color] [b][color=BLUE]([/color][/b]cdr [b][color=RED]([/color][/b]assoc v nl[b][color=RED])[/color][/b][b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] fl[b][color=MAROON])[/color][/b]
           dc [b][color=MAROON]([/color][/b]1+ dc[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]

  [b][color=FUCHSIA]([/color][/b]graphscr[b][color=FUCHSIA])[/color][/b]
  [b][color=FUCHSIA]([/color][/b]setq ts 2.4[b][color=FUCHSIA])[/color][/b]
  [b][color=FUCHSIA]([/color][/b]setvar [color=#2f4f4f]"CECOLOR"[/color] [color=#2f4f4f]"3"[/color][b][color=FUCHSIA])[/color][/b]
  [b][color=FUCHSIA]([/color][/b]setvar [color=#2f4f4f]"TEXTSIZE"[/color] ts[b][color=FUCHSIA])[/color][/b]
  [b][color=FUCHSIA]([/color][/b]command [color=#2f4f4f]"_.STYLE"[/color] [color=#2f4f4f]"ROMANS"[/color] [color=#2f4f4f]"ROMANS"[/color] ts[b][color=FUCHSIA])[/color][/b]
  [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]> [b][color=MAROON]([/color][/b]getvar [color=#2f4f4f]"CMDACTIVE"[/color][b][color=MAROON])[/color][/b] 0[b][color=NAVY])[/color][/b]
         [b][color=NAVY]([/color][/b]command [color=#2f4f4f]""[/color][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  [b][color=FUCHSIA]([/color][/b]setq sp [b][color=NAVY]([/color][/b]list 0 0 0[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  [b][color=FUCHSIA]([/color][/b]foreach a [b][color=NAVY]([/color][/b]reverse fl[b][color=NAVY])[/color][/b]
      [b][color=NAVY]([/color][/b]command [color=#2f4f4f]"_.TEXT"[/color] sp 0 a[b][color=NAVY])[/color][/b]
      [b][color=NAVY]([/color][/b]setq sp [b][color=MAROON]([/color][/b]list [b][color=GREEN]([/color][/b]car sp[b][color=GREEN])[/color][/b] [b][color=GREEN]([/color][/b]- [b][color=BLUE]([/color][/b]cadr sp[b][color=BLUE])[/color][/b] [b][color=BLUE]([/color][/b]* ts 1.5[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b] 0[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]

[b][color=FUCHSIA]([/color][/b]prin1[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

 

 

-David

  • 3 weeks later...
Posted

Thanks David! If my notes were multiline text (MTEXT), how would I implement that?

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