Results 1 to 5 of 5

Thread: remove formating of dim

  1. #1
    I could stop if I wanted to
    Join Date
    2001-07
    Posts
    319
    Login to Give a bone
    0

    Default remove formating of dim

    Hello,
    I'm trying to remove the formating of the dimention in a acad dwg, created from Inventor.
    Code:
    ;INVENTOR TEXT -> ACAD TEXT STYLE
    (defun c:ita( / adim valeur removeText
    				start end
    				rtext
    			)
    	(setq removeText '("\\" "f" "H" "l"))
    	(setq adim (ob))
    	(setq valeur (vlax-get adim 'TextOverride))
    	(if (/= valeur "<>")
    		;remove extra info
    		;example "\\fArial|b0|i0;\\H50.0000;ø\\fAIGDT|b0|i0;\\H50.0000;\\ln\\fArial|b0|i0;\\H50.0000;<>\\fArial|b0|i0;\\H50.0000;x2"
    		;result ø<>x2
    		(progn
    			
    				(while (setq st(car(member (substr valeur 1 1) removeText)))
    					(setq start (vl-string-search st valeur))
    					(setq end(vl-string-search ";"  valeur))
    					(setq rtext (substr valeur (+ start 1) (+ end 1)))
    					(setq valeur (vl-string-trim rtext valeur))
    				)
    			
    		)
    		
    	)
    	(princ)
    )
    Thanks for any help

  2. #2
    All AUGI, all the time
    Join Date
    2010-10
    Posts
    535
    Login to Give a bone
    0

    Default Re: remove formating of dim

    Would something like this be enough?

    Code:
    (defun c:test  (/ Selset Ent)
          (cond ((and
                       (Setq Selset (ssget ":L" '((0 . "DIMENSION"))))
                       (while (setq Ent (ssname SelSet 0))
                             (vla-put-TextOverride
                                   (vlax-ename->vla-object Ent)
                                   "")
                             (setq Selset (ssdel Ent Selset))
                             )
                       )
                 )
                )
          (princ)
          )
    or are you targeting specific format to remove?

  3. #3
    All AUGI, all the time
    Join Date
    2015-10
    Location
    Belgrade, Serbia, Europe
    Posts
    564
    Login to Give a bone
    0

    Default Re: remove formating of dim

    I don't see what should be changed in your code... Can you point out what isn't working well...

    This should function, but CAD can't complete operation (it calculates and can't finish - I don't know why - it's simple)

    Code:
    ;INVENTOR TEXT -> ACAD TEXT STYLE
    (defun c:ita ( / adim valeur start end rtext)
            (vl-load-com)
    	(setq adim (vlax-ename->vla-object (car (entsel "\nSelect DIMENSION")) ))
    	(setq valeur (vlax-get adim 'TextOverride))
            (setq start "" end "")
    	(if (/= valeur "<>")
    		;remove extra info
    		;example "\\fArial|b0|i0;\\H50.0000;ø\\fAIGDT|b0|i0;\\H50.0000;\\ln\\fArial|b0|i0;\\H50.0000;<>\\fArial|b0|i0;\\H50.0000;x2"
    		;result ø<>x2
    		(progn
    				(while  (and (/= start nil) (/= end nil))
    					(setq start (vl-string-search "\\" valeur))
    					(setq end (vl-string-search ";" valeur))
    					(setq rtext (substr valeur (+ start 1) (+ end 1)))
    					(setq valeur (vl-string-trim rtext valeur))
    				)
    			
    		)
    	)
            (vla-put-TextOverride adim valeur)
    	(princ)
    )
    M.R.
    Last edited by marko_ribar; 2011-05-04 at 12:07 PM.

  4. #4
    All AUGI, all the time
    Join Date
    2015-10
    Location
    Belgrade, Serbia, Europe
    Posts
    564
    Login to Give a bone
    0

    Default Re: remove formating of dim

    There was logical error... Try this code:

    Code:
    ;INVENTOR TEXT -> ACAD TEXT STYLE
    (defun c:ita ( / adim val valn valeur valnew start end rtext)
            (vl-load-com)
    	(setq adim (vlax-ename->vla-object (car (entsel "\nSelect DIMENSION")) ))
    	(setq valeur (vlax-get adim 'TextOverride))
            (setq start "" end "" valnew "")
    	(if (/= valeur "<>")
    	;remove extra info
    	;example "\\fArial|b0|i0;\\H50.0000;ø\\fAIGDT|b0|i0;\\H50.0000;\\ln\\fArial|b0|i0;\\H50.0000;<>\\fArial|b0|i0;\\H50.0000;x2"
    	;result ø<>x2
    	(progn
    	(while  (or (/= start nil) (/= end nil))
    		(setq start (vl-string-search "\\" valeur))
    		(setq end (vl-string-search ";" valeur))
                    (if (or (< end start) (= start nil)) (setq start 0))
                    (if (and (>= start 1) (/= end nil)) (setq val (substr valeur 1 start)) )
                    (if (/= end nil) (setq rtext (substr valeur (+ start 1) (+ end 1))) (setq rtext nil))
                    (if (/= val nil) (setq valeur (vl-string-left-trim val valeur)) (setq valn valeur) )
    		(if (/= rtext nil) (setq valeur (vl-string-left-trim rtext valeur)) )
    		(if (and (/= start nil) (= end nil)) (setq val valn) )
    		(if (/= val nil) (progn (setq valnew (strcat valnew val)) (setq val nil)) )
    		(if (= start 0) (setq start nil))
    	)
    	)
    	)
            (vla-put-TextOverride adim valnew)
    	(princ)
    )
    M.R.
    Hope this helps...

  5. #5
    I could stop if I wanted to
    Join Date
    2001-07
    Posts
    319
    Login to Give a bone
    0

    Default Re: remove formating of dim

    Thanks a lot
    I was almost finished as I was struggling for the last part of the string
    Really good job!

    Code:
    (defun c:ita ( / adim valeur start end rtext)
    	(setq adim (ob))
    	(setq ntext ""
    	      valeur (vlax-get adim 'TextOverride)
    	      start 0
    	)
    	(if (/= valeur "<>")
    		(progn
    			(while start
    				(setq start(vl-string-search "\\" valeur))
    				(if (> start 0)
    					(setq 	nText (strcat nText(substr valeur 1 start ))
    							valeur (substr valeur (+ start 1)(strlen valeur))
    							start(vl-string-search "\\" valeur)
    					)
    				)
    				(setq end (vl-string-search ";"  valeur))
    				(if (and start end)
    					(progn
    						(setq rtext (substr valeur (+ start 1) end))
    						(setq valeur (vl-string-left-trim rtext valeur))
    						(if (= (substr valeur 1 1)";")
    							(setq valeur (vl-string-trim ";" valeur))
    						)
    					)
    				)
    			)
    			(setq nText (strcat ntext valeur))
    			(vlax-put adim ' TextOverride nText)
    		)
    	)
    	(princ)
    )
    Still I suppose there's must be an easier way with wcmatch or lambda and apply...
    I'm gonna add a twist to update the dwg in one go
    Thanks for your input
    Last edited by clovis; 2011-05-04 at 03:17 PM.

Similar Threads

  1. 2012: FORMATING ON SHEETS
    By Kmanred in forum Revit Architecture - General
    Replies: 2
    Last Post: 2012-04-30, 06:35 PM
  2. Single Click to remove Mtext Formating
    By darth_henry in forum AutoCAD Customization
    Replies: 2
    Last Post: 2008-04-16, 06:52 AM
  3. Schedule Formating Sq M to Sq Ft error/bug
    By psteel in forum Revit Architecture - General
    Replies: 4
    Last Post: 2006-09-27, 05:53 PM
  4. ASCII Formating
    By tommy.huckabee in forum AutoCAD Wish List
    Replies: 6
    Last Post: 2005-04-05, 12:29 PM
  5. Schedule Formating
    By David Sammons in forum Revit Architecture - Tips & Tricks
    Replies: 0
    Last Post: 2004-12-20, 03:08 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •