Visual LISP, AutoLISP and General Customization
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Can VLisp be used to modify Civil 3D point styles?

4 REPLIES 4
Reply
Message 1 of 5
coopdetat
434 Views, 4 Replies

Can VLisp be used to modify Civil 3D point styles?

Hi all,

I am having to work around a Civil 3D plotting issue that appears when using my raster format plotter (I use the "TIFF Version 6 (CCITT G4 2D Compression)" plot device.

 

The details of the problem are not important to my question but they can be found here:

http://forums.autodesk.com/t5/AutoCAD-Civil-3D/Improper-scaling-of-point-label-styles-using-quot-dim...

and here:

http://forums.autodesk.com/t5/AutoCAD-Civil-3D/Wipeouts-still-a-problem-in-2012-fix-trashes-point-la...

 

I am relatively new to muddling with objects.  I need to know, can I modify point styles and point label styles text size and scaling parameters using vlisp?

 

I did this:

(vlax-dump-object (vlax-get-property (vlax-get-property aeccdoc "PointLabelStyles") "item" 0))

and many of the items in the dump are marked as read-only (RO).  Does that mean that they cannot be modified or is it just that those object identifiers are read-only?

 

If the text and scaling parameters can be modified using vlisp, how would I go about doing it?

Any help would be greatly appreciated.

 

Here is the dump:

; IAeccLabelStyle: IAeccLabelStyle Interface
; Property values:
;   Application (RO) = #<VLA-OBJECT IAeccApplication 000000004dab2d40>
;   BlockComponents (RO) = #<VLA-OBJECT IAeccLabelStyleBlockComponents 000000004daa97d0>
;   Children (RO) = #<VLA-OBJECT IAeccLabelStyles 000000004e4fc7d8>
;   CreatedBy = "Autodesk"
;   DateCreated (RO) = "2/24/2006 2:26:49 AM"
;   DateModified (RO) = "6/6/2011 9:36:09 AM"
;   Descendants (RO) = #<VLA-OBJECT IAeccLabelStyles 000000004e4fd398>
;   Description = ""
;   DirectionArrowComponents (RO) = #<VLA-OBJECT IAeccLabelStyleDirectionArrowComponents 000000004daaa910>
;   Document (RO) = #<VLA-OBJECT IAeccDocument 000000004daaaa90>
;   DraggedComponentStyle (RO) = #<VLA-OBJECT IAeccLabelDraggedComponentStyle 000000004daa9fb0>
;   DraggedLeaderStyle (RO) = #<VLA-OBJECT IAeccLabelDraggedLeaderStyle 000000004daaa610>
;   Handle (RO) = "1909"
;   HasExtensionDictionary (RO) = 0
;   LabelProperties (RO) = #<VLA-OBJECT IAeccLabelStyleProperties 000000004daaaa30>
;   LineComponents (RO) = #<VLA-OBJECT IAeccLabelStyleLineComponents 000000004dab3670>
;   ModifiedBy (RO) = "CFrancis"
;   Name = "Point Number Only"
;   ObjectID (RO) = 133
;   ObjectID32 (RO) = 133
;   ObjectName (RO) = "AeccDbLabelStyleCollector"
;   OwnerID (RO) = 134
;   OwnerID32 (RO) = 134
;   Parent (RO) = #<VLA-OBJECT IAeccLabelStyle 000000004e106e70>
;   TextComponents (RO) = #<VLA-OBJECT IAeccLabelStyleTextComponents 000000004dab3700>
;   TickComponents (RO) = #<VLA-OBJECT IAeccLabelStyleTickComponents 000000004daa9b90>
;   Type (RO) = 15

---------------------------------------------Signature--------------------------------------------
Civil Design Professional Since 1983 (Intergraph), AutoCAD since 1989

Windows 10 Pro 64-bit Intel﴾R﴿ Core﴾TM﴿ i9-12900KF CPU 3.19GHz; 32 GB DDR4 4266 Dual Channel RAM
nVidia Quadro RTX 4000; AutoCAD Civil 3D 2023.2.1 Update
4 REPLIES 4
Message 2 of 5
Shneuph
in reply to: coopdetat

(vlax-dump-object (vlax-get-property (vlax-get-property aeccdoc "PointLabelStyles") "item" 0) T)

 

Not using Civil 3D but my first question is are there any methods for modifying or getting them?

like (vla-gettextcomponents...)

---sig---------------------------------------
'(83 104 110 101 117 112 104 64 71 109 97 105 108 46 99 111 109)
Message 3 of 5
coopdetat
in reply to: Shneuph

That's the kind of thing that I don't know and I need to know.  I can get the objects shown in the dump and I suspect I can drill to the specific things I want to change.  I was hoping that someone has done this or similar things and can jump start my efforts so I don't have to stumble through it by trial and error.  I especially don't want to spend time on it if the things I want to change are read only.  In my early days I spent a lot of time sorting out the extended entity data on viewports and coding to modify it only to find that viewports cannot be modified.  I don't want to do that again.

---------------------------------------------Signature--------------------------------------------
Civil Design Professional Since 1983 (Intergraph), AutoCAD since 1989

Windows 10 Pro 64-bit Intel﴾R﴿ Core﴾TM﴿ i9-12900KF CPU 3.19GHz; 32 GB DDR4 4266 Dual Channel RAM
nVidia Quadro RTX 4000; AutoCAD Civil 3D 2023.2.1 Update
Message 4 of 5
Jeff_M
in reply to: coopdetat

First, just an FYI, there's a forum specific to C3D customization: http://forums.autodesk.com/t5/AutoCAD-Civil-3D-Customization/bd-p/190

 

Second, there are only a handful of people brave (or crazy) enough to try using LIsp with C3D, I'm one of them but have been doing so less & less (.NET is much easier).

 

THe reason you are seeing many things read-only is beacuse they are container objects. Once you get them, THEY may be editable, so don't let that (RO) stop you from looking deeper.

 

For the Text Components of a label, this IS an editable value, but it will take a bit of drilling to get to it.....and remember, each component can each have a different value so you will likely want to change each one.

 

If you take this to the C3D customization forum, I'll see what I can dig up for you.

Jeff_M, also a frequent Swamper
EESignature
Message 5 of 5
coopdetat
in reply to: Jeff_M

Thanks, I'll do that.

---------------------------------------------Signature--------------------------------------------
Civil Design Professional Since 1983 (Intergraph), AutoCAD since 1989

Windows 10 Pro 64-bit Intel﴾R﴿ Core﴾TM﴿ i9-12900KF CPU 3.19GHz; 32 GB DDR4 4266 Dual Channel RAM
nVidia Quadro RTX 4000; AutoCAD Civil 3D 2023.2.1 Update

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost