AutoCAD Land Desktop (Read Only)
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Scale change effect on VerticalScale

11 REPLIES 11
Reply
Message 1 of 12
Anonymous
236 Views, 11 Replies

Scale change effect on VerticalScale

Am I missing something, or does chaning a project's horizontal scale totally screw up sections/profiles regarding their VerticalScale?
11 REPLIES 11
Message 2 of 12
Anonymous
in reply to: Anonymous

Hi Tom, ABSOLUTELY regardless of any setting Land Desktop plots the horizontal data at 1 drawing unit = 1 item of entered data There is a VERY strong convention that the unit of the entered data is either Metres or Feet Text and symbolic blocks are inserted scaled by the Horizontal scale you select so that the plotted height of these objects is correct. The vertical scale is always a multiplier of the ratio between the set Horizontal Scale and the Set vertical scale. Hence if you have H 1:200 and V 1:20 you will get a scale distortion of 10:1 Which of course leads to the experience you are having. Change the horizontal scale and the ratio changes and so the vertical plot scale changes. -- Laurie Comerford CADApps www.cadapps.com.au "TomD" wrote in message news:4166a0a9$1_2@newsprd01... > Am I missing something, or does chaning a project's horizontal scale totally > screw up sections/profiles regarding their VerticalScale? > >
Message 3 of 12
Anonymous
in reply to: Anonymous

"Laurie Comerford" wrote in message news:4166f873_2@newsprd01... > Which of course leads to the experience you are having. Change the > horizontal scale and the ratio changes and so the vertical plot scale > changes. Thanks, Laurie, for the detailed anser. I'm left wondering why the concept of multiple scales within a drawing seems so foreign to software developers. :( Adesk.........if you want to see a better example of how store profile/section scales, let me know. 😉
Message 4 of 12
Anonymous
in reply to: Anonymous

Hi Tom, Layout space is Autodesk's solution to this problem. It works quite in conjunction with the scale distortion as described earlier. -- Regards Laurie Comerford www.cadapps.com.au "TomD" wrote in message news:41670b9c$1_2@newsprd01... > "Laurie Comerford" wrote in message > news:4166f873_2@newsprd01... > > > Which of course leads to the experience you are having. Change the > > horizontal scale and the ratio changes and so the vertical plot scale > > changes. > > Thanks, Laurie, for the detailed anser. > > I'm left wondering why the concept of multiple scales within a drawing seems > so foreign to software developers. :( > > Adesk.........if you want to see a better example of how store > profile/section scales, let me know. ;) > >
Message 5 of 12
Anonymous
in reply to: Anonymous

"Laurie Comerford" wrote in message news:4169c2cc_2@newsprd01... > Hi Tom, > > Layout space is Autodesk's solution to this problem. > > It works quite in conjunction with the scale distortion as described > earlier. I think I'm not fully following you with this. It seems to me that the issue is still not solved. If I have some site sections at 100:100 (no vertical exaggeration) and a roadway profile at 100:10 (10x vertical exaggeration), I could wildly incorrect data with any routine written to utilize the profile/section blocks. By all means, correct me if I'm wrong. I'm not bashing just Land with this issue. EaglePoint makes the same crucial mistake with their profiling.
Message 6 of 12
Anonymous
in reply to: Anonymous

Tom, The profile/section objects have methods that given a Station, elevation, they will return the X,Y for the profile/section and the other way around. If you use these, they will take care of the vertical scale factor for you. This is in both LDT and Civil 3D. Peter Funk API Product Manager Autodesk, Inc.
Message 7 of 12
Anonymous
in reply to: Anonymous

"Peter Funk - Autodesk, Inc." wrote in message news:416a92f2$1_2@newsprd01... > Tom, > > The profile/section objects have methods that given a Station, elevation, > they will return the X,Y for the profile/section and the other way around. > If you use these, they will take care of the vertical scale factor for you. > This is in both LDT and Civil 3D. I don't think I'm making myself clear, Peter. Here's some code I wrote last week: Dim oDoc As AeccDocument, iTmp As Integer, oXBlk As AeccCrossSectionBlock Dim oDbPref As AeccDatabasePreferences, dSclFac As Double Dim dSta As Double, dEndArea As Double Set oDoc = AeccApplication.ActiveDocument For iTmp = 0 To oDoc.CrossSectionBlocks.Count - 1 Set oXBlk = oDoc.CrossSectionBlocks(iTmp) Set oDbPref = oDoc.Preferences dSclFac = oDbPref.DatabaseScale / oXBlk.VerticalScale 'POTENTIAL ISSUE HERE dSta = oXBlk.Station dEndArea = GetClosedPlAreas(oXBlk, ThisDrawing.ActiveLayer.Name, dSclFac, dSta) Next iTmp Set oDbPref = Nothing Set oXBlk = Nothing Set oDoc = Nothing My concern lies with the line noted. This seems to be the only way to get the actual vertical exaggeration, which would be incorrect if the project scales are not set the same as when the section/profile was created. I'm really not trying to be difficult here. I just wrote a couple of routines to deal with some specific circumstances here. The methods for dealing with the scales work great, don't get me wrong, but I'm concerned about what happens in a project with multiple scales, which we have quite frequently. (If I'm making a mountain out of a mole hill, just send me an e-slap.)
Message 8 of 12
Anonymous
in reply to: Anonymous

OK, I understand now. In LDT where the cross sections/profiles are static, there would be a problem if the drawing scale was modified after the section/profile was created. For both of these, you could use the coordinates properties with the OffsetElevationToXY to calculate the scale that the block was drawn at. Check to make sure that my math is correct... Profile: get the coordinates StationElevationToXy of startionstation + 100 the x should be equal to 100 * drawing scale plus the x of the coordinates. if not, then scale = (x - coordinate x) / 100 Section: get the coordinates get the leftWidth get offsetElevationToXy at 0,0 The x should equal the leftwidth * drawing scale plus the x of the coordinates if not, then scale = (x - coordinate x) / leftWidth Cheers, Peter Funk API Product Manager Autodesk, Inc.
Message 9 of 12
Anonymous
in reply to: Anonymous

"Peter Funk - Autodesk, Inc." wrote in message news:416aa380_1@newsprd01... > OK, > > I understand now. In LDT where the cross sections/profiles are static, there > would be a problem if the drawing scale was modified after the > section/profile was created. For both of these, you could use the > coordinates properties with the OffsetElevationToXY to calculate the scale > that the block was drawn at. Check to make sure that my math is correct... > > Profile: > get the coordinates > StationElevationToXy of startionstation + 100 > the x should be equal to 100 * drawing scale plus the x of the > coordinates. > if not, then scale = (x - coordinate x) / 100 > > Section: > get the coordinates > get the leftWidth > get offsetElevationToXy at 0,0 > The x should equal the leftwidth * drawing scale plus the x of the > coordinates > if not, then scale = (x - coordinate x) / leftWidth I think that will git 'r done. 😉 Thank you very much, Peter.
Message 10 of 12
Anonymous
in reply to: Anonymous

"Peter Funk - Autodesk, Inc." wrote in message news:416aa380_1@newsprd01... > I understand now. In LDT where the cross sections/profiles are static, there > would be a problem if the drawing scale was modified after the > section/profile was created. For both of these, you could use the > coordinates properties with the OffsetElevationToXY to calculate the scale > that the block was drawn at. Check to make sure that my math is correct... I was thinking about this and have come to the conclusion that it doesn't address the issue. Granted I'm making an assumption here, but I'm guessing that the methods mentioned will return values based on the current scale value, not the scale that was current when the section/profile was created, thereby leaving me with the same problem. I'll test this when I get a chance and re-post.
Message 11 of 12
Anonymous
in reply to: Anonymous

Hi Tom, Would it be possible for you to tell us what you are trying to do ? I just read the whole post and while each of the answers you've received appear to answer the point you raised, quite clearly the answer has been irrelevant to your real query. -- Laurie Comerford CADApps www.cadapps.com.au "TomD" wrote in message news:416bf045_1@newsprd01... > "Peter Funk - Autodesk, Inc." wrote in message > news:416aa380_1@newsprd01... > > I understand now. In LDT where the cross sections/profiles are static, > there > > would be a problem if the drawing scale was modified after the > > section/profile was created. For both of these, you could use the > > coordinates properties with the OffsetElevationToXY to calculate the scale > > that the block was drawn at. Check to make sure that my math is correct... > > I was thinking about this and have come to the conclusion that it doesn't > address the issue. Granted I'm making an assumption here, but I'm guessing > that the methods mentioned will return values based on the current scale > value, not the scale that was current when the section/profile was created, > thereby leaving me with the same problem. > > I'll test this when I get a chance and re-post. > >
Message 12 of 12
Anonymous
in reply to: Anonymous

"Laurie Comerford" wrote in message news:416c3fa3_1@newsprd01... > Hi Tom, > > Would it be possible for you to tell us what you are trying to do ? > > I just read the whole post and while each of the answers you've received > appear to answer the point you raised, quite clearly the answer has been > irrelevant to your real query. First off, I really appreciate the effort that you and Peter have put into this thread, Laurie. I'll try to simplify the question by going through a scenario. My project scales are 50 horizontal, 10 vertical (units of feet, of course). I complete a road design, with a profile at 50:10. Now I need to do a wall profile without any vertical exaggeration, so the settings have to change to 50 horizontal, 50 vertical. In this situation, if I write code to do anything with the road profile(s), wouldn't the values be incorrect, due to the changed vertical exaggeration? I'm planning test this all out, including Peter's suggestion from earlier in the thread. I'll re-post the results. Thanks, again.

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

Post to forums  

Autodesk Design & Make Report