Issues importing GIS data as scaled blocks

Issues importing GIS data as scaled blocks

SeanBaer
Explorer Explorer
587 Views
8 Replies
Message 1 of 9

Issues importing GIS data as scaled blocks

SeanBaer
Explorer
Explorer

Hi,

 

I'm working in both ArcGIS Pro and Map3D. I regularly receive tree survey data in the form of Civil3D COGO points. These COGO points typically have been stylized different than I need them to be, so I'm trying to assign a block I've created to them with a scale based off of each tree point's diameter.

 

So far, I've realized there are limitations in Map3D in dealing with COGO points. I can't revise labeling or which block is used. It just seems to have limited functionality. I'm sure there are many more options in Civil3D, but I don't have a license for it. Is there an SOP to making this work?

 

I've tried opening the survey file in GIS and converting to shapefile, then performing a mapimport and assigning a block. The blocks come in fine, with correct placement, attribute-based layering, and attached attributed data...but I'm not sure how to get the tree block to scale appropriately upon performing the mapimport. Is there a way to do this?

 

Any other methods to achieving this are welcome. I have to perform this task pretty often and usually just use a not-so-pretty workaround, so I'd like to have a more efficient process. Thanks for any help on this. 

0 Likes
Accepted solutions (1)
588 Views
8 Replies
Replies (8)
Message 2 of 9

Pointdump
Consultant
Consultant

Hi Sean,
"...how to get the tree block to scale appropriately upon performing the mapimport. Is there a way to do this?"
With MAPIMPORT, you would need to sort the tree blocks into scale ranges and use separate imports.
I think the most straightforward way would be an AutoCAD script, like >>>This<<<.
Dave

Dave Stoll
Las Vegas, Nevada

EESignature

64GB DDR4 2400MHz ECC SoDIMM / 1TB SSD
NVIDIA Quadro P5000 16GB
Windows 10 Pro 64 / Civil 3D 2025
0 Likes
Message 3 of 9

parkr4st
Advisor
Advisor

sean

 

post a sample of the data.  a few items will suffice.  It may be possible to use the attribute information to get your result.

0 Likes
Message 4 of 9

O_Eckmann
Mentor
Mentor
Accepted solution

Hi @SeanBaer ,

 

If you've blocks with attributs or Object Data, you can make a request to alter properties to change block name, scale, layer... from value of attrib or OD.

In my video, I've some blocks with an attribut named TYPE containing a name of predefined block in my drawing, and another attribut named SCALE containing a real value.

I could do exactly same request with OD if attached on blocks.

Olivier Eckmann

EESignature

Message 5 of 9

SeanBaer
Explorer
Explorer

Hey hey, I appreciate the help. I've attached the shapefile and dwg containing the coordinate system and block. Within the shapefile, the "Scale_X" field contains the scale factor I need to use for each tree block. Let me know if you need more info.

 

 edit...this is just a small sample. Some of our projects will have survey files containing up to 3-4,000 trees, so I need to have a way to automate this.

 

-Sean

0 Likes
Message 6 of 9

SeanBaer
Explorer
Explorer

Hi Dave, thanks for the reply.

 

Are you suggesting a separate mapimport for each size tree I need shown in CAD? I couldn't get away with showing say all trees <8in as one size, 8-19in as another size, etc. Each tree will need to be an exact size specified in its attributes. I do plan on importing each tree onto 1 of 6 layers depending on size and status, but the scale will need to be exact. Sorry if I'm misunderstanding you on that. I'll look into the script option when I have time to experiment with it.

 

-Sean

0 Likes
Message 7 of 9

Pointdump
Consultant
Consultant

Hi Olivier,
Brilliant! Good video!
Dave

Dave Stoll
Las Vegas, Nevada

EESignature

64GB DDR4 2400MHz ECC SoDIMM / 1TB SSD
NVIDIA Quadro P5000 16GB
Windows 10 Pro 64 / Civil 3D 2025
0 Likes
Message 8 of 9

SeanBaer
Explorer
Explorer

Wow. I wasn't expecting you to blow my socks off with your wizardry. Worked for me perfectly on the first try. I'll be adding this to my toolbag. Thank you so much.

 

-Sean

0 Likes
Message 9 of 9

ChicagoLooper
Mentor
Mentor

Hi @SeanBaer 

You can do it using your shapefile and your existing block. BTW, thanks for uploading your data. It makes explanation a lot easier.

 

Map3D can can easily leverage the existing shapefile's database file (dbf). Assuming you already have the know-how to manage shapefile data in Map3D, here's how.....

 

1. If I add the tree data to a map, it'll look like this. Boring, right?

Image-1Image-1

 

2. I want the attribute named Scale_X to manage the size of the tree. Image-2 illustrates how the attribute Scale_X is used as an Expression to establish the width and height of each tree. You may, if needed, use a factor , such as 0.25, 4.0, 10.0, to control the value in Scale_X. To make the tree one-fourth the size use expression 0.25*Scale_X so the the value is reduced to one-fourth the size. The specific factor you use will make the tree either smaller or bigger. When using a factor, use trial & error to determine the appropriate factor.

<<Note: You must change both Width and Height., so the cyan circle's size is scaled uniformly (refer to Style Point window). If you adjust one, and not both, then you'll end up with an ellipse.>>

Image-2Image-2

 

3. Here's the result using Scale_X as an Expression in both width and height.....

Image-3Image-3

 

4. Still boring? Instead of using the Default shapefile 'circle' to represent a tree, you can also substitute your plain vanilla AutoCAD block. Also, the tree block I use was black, which I didn't like, so I changed the color to Green. Here's how I did it:

Image-4Image-4

 

5. Less boring, right? The shapefile point now uses a block AND the block's size is associated with Scale_X. 

Image-5Image-5

 

Chicagolooper

EESignature