Jump to content

Create Custom Border Shapes - Label Style Composer


CivilPrice

Recommended Posts

Does anyone know if there is a way to create custom Border shapes?  There are only Rectangular, Rounded Rectangular, and Circular. 

 

I am working out of Tucson Arizona, and here in the Wild West they want Civil Plans to look like Architectural plans.  The Municipalities here are a joke, they make the most useless and arbitrary demands one of which is using Key Notes to label everything.  I am trying to get co-workers to understand the importance of my work flow dynamic, I am met with resistance at every turn... because, "this is how we have always done it."

 

If I could find a way to create the shapes needed (Hexagon, Pentagon ect.) for our construction notes so that I can make the styles we need that will be able to flip back & fourth without a left and right it would really help show the ease of use.  If I could get people on board with this, they will see the value of my workflow and save a ton of time on drafting in the long run.  It is a long & complicated issue... 

 

Anyways, 

 

Is there a way to change, or create your own Boarder Shapes in the label style composer???

 

Thank you,  

Label Style Composer.PNG

Link to comment
Share on other sites

My guess is that you could create a new border type by modifying the relevant .NET module, if that's even possible. The catch is that you have to maintain it, because I'd also guess that nobody else in your office is a programmer.

Link to comment
Share on other sites

There was a post about using a dynamic block to wrap around text a hexagon shape so as the text string increases in length so does the surrounding shape. Like others very doubtful can make a label style. Do  a google I know I supplied an answer.

 

This is a code example no dynamic block sorry.

 

; Text with underline
; By Alan H Aug 2019

;; Set Dynamic Block Property Value  -  Lee Mac
;; Modifies the value of a Dynamic Block property (if present)
;; blk - [vla] VLA Dynamic Block Reference object
;; prp - [str] Dynamic Block property name (case-insensitive)
;; val - [any] New value for property
;; Returns: [any] New value if successful, else nil

(defun LM:setdynpropvalue ( blk prp val )
    (setq prp (strcase prp))
    (vl-some
       '(lambda ( x )
            (if (= prp (strcase (vla-get-propertyname x)))
                (progn
                    (vla-put-value x (vlax-make-variant val (vlax-variant-type (vla-get-value x))))
                    (cond (val) (t))
                )
            )
        )
        (vlax-invoke blk 'getdynamicblockproperties)
    )
)

;code starts here
(defun c:ahtxtund ( / txt tlen pt blk)
(setq txt (getstring "enter text"))
(setq tlen (* (* 0.8 (strlen txt)) 2.5))
(setq pt (getpoint "Pick point"))
(setvar 'attdia 0)
(command "-insert" "undert" pt 1 1 0 txt)
(setvar 'attdia 1)
(setq blk (vlax-ename->vla-object (entlast)))
(LM:setdynpropvalue  blk "distance1" tlen )
(princ)
)
(c:ahtxtund)

 

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