TheSwamp

CAD Forums => Vertically Challenged => Topic started by: cadplayer on November 06, 2012, 10:13:04 AM

Title: check if block on surface
Post by: cadplayer on November 06, 2012, 10:13:04 AM
Hello all!

I have a simple question if itīs possible to check if a block is placed on a surface.
In a Civil drawing I have moved block to a surface according to [http://docs.autodesk.com/CIVIL/2010/ENU/AutoCAD%20Civil%202010%20User%20Documentation/index.html?url=WS1a9193826455f5ff1d61fe411049ed455e-6c52-procedure.htm,topicNumber=d0e77825]help[/url]I procedor the surface is changing but the blocks stay on old place. It would be nice if blocks could move dynamically.
Any suggestions?!

PS.: I donīt know how can formatting url better so I only comes for example "Link" and you can push the word
Title: Re: check if block on surface
Post by: huiz on November 06, 2012, 02:29:30 PM
Only Labels are dynamically linked to a Surface.
Title: Re: check if block on surface
Post by: cadplayer on November 07, 2012, 03:02:16 AM
Thanks for replaying, I have test it - very good. For understanding a label is a own Civil entity not a block, but can I convert a label in a block with attribut

If I look on a label entity I miss the value which stay in label (for example hight from a surface)

Select object: ; IAeccSurfaceElevationLabel: IAeccSurfaceLevel Label interface
; Property values:
;   Application (RO) = #<VLA-OBJECT IAeccApplication 0000000049c2e030>
;   Description = Civil 3D API: Felaktig parameter.
;   DisplayName (RO) = Civil 3D API: Felaktig parameter.
;   Document (RO) = #<VLA-OBJECT IAeccDocument 0000000049c2dc10>
;   Flipped = 0
;   Handle (RO) = "48B05"
;   HasExtensionDictionary (RO) = 0
;   Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 000000004df5f318>
;   LabelStyle = #<VLA-OBJECT IAeccLabelStyle 000000003c2d5e10>
;   Layer = "TERR-TEXT"
;   LeaderAttachmentOption = 0
;   Linetype = "ByLayer"
;   LinetypeScale = 1.0
;   Lineweight = -1
;   MarkerStyle = #<VLA-OBJECT IAeccMarkerStyle 000000003ac61680>
;   Material = "ByLayer"
;   Name = Civil 3D API: Felaktig parameter.
;   ObjectID (RO) = 62
;   ObjectID32 (RO) = 62
;   ObjectName (RO) = "AeccDbSurfaceElevLabel"
;   OwnerID (RO) = 61
;   OwnerID32 (RO) = 61
;   Pinned = 0
;   PlotStyleName = "ByLayer"
;   Reversed = 0
;   ShowToolTip = Civil 3D API: Felaktig parameter.
;   Surface (RO) = #<VLA-OBJECT IAeccTinSurface 000000003abb7600>
;   TrueColor = #<VLA-OBJECT IAcadAcCmColor 000000004df6e5b0>
;   Type (RO) = 9
;   Visible = -1
; Methods supported:
;   ArrayPolar (3)
;   ArrayRectangular (6)
;   Copy ()
;   Delete ()
;   GetBoundingBox (2)
;   GetExtensionDictionary ()
;   GetXData (3)
;   Highlight (1)
;   IntersectWith (2)
;   IsReferenceObject ()
;   IsReferenceStale ()
;   IsReferenceSubObject ()
;   IsReferenceValid ()
;   Mirror (2)
;   Mirror3D (3)
;   Move (2)
;   Rotate (2)
;   Rotate3D (3)
;   ScaleEntity (2)
;   SetXData (2)
;   TransformBy (1)
;   Update ()
Title: Re: check if block on surface
Post by: mjfarrell on November 07, 2012, 05:01:42 AM
you can do away with this need if you insert your blocks through use of Points and Description keys.

what sort of blocks are you wanting to keep on the surface anyway?
Title: Re: check if block on surface
Post by: cadplayer on November 07, 2012, 06:32:54 AM
Hi Michael!

What are you meaning with "Points and Description keys"

I have a block with a attribut which display high of insertpoint from surface. Type this ...
Title: Re: check if block on surface
Post by: mjfarrell on November 07, 2012, 09:25:53 AM
use points , random on surface instead

one needs to stop using autocad techniques where there is a tool within c3d that does the job better

Title: Re: check if block on surface
Post by: cadplayer on November 07, 2012, 09:40:33 AM
Thanks but itīs the same result I get with slope labels  :oops:
Title: Re: check if block on surface
Post by: mjfarrell on November 07, 2012, 10:29:07 AM
your block appears to 'only' give surface elvation.
and why would one use a slope lable to get the surface elevation?


what exactly are you after?  Your posted block doesn't offer any clues?