Laziz Posted April 13, 2015 Report Share Posted April 13, 2015 Доброго времени суток. Возможно ли с помощю MultiCAD.NET осуществить сабж? Если да: 1. Как осуществить выбор линии или несколько линии? 2. Как получить размер выбронного линию или несколько выбранных линии? 3. И самое главное, если выбран несколько линия как, определить градус поворота второго линя относительно первого? Спасибо Извините за некомпетентность, стараюсь исправиться. Quote Link to comment Share on other sites More sharing options...
Ivanco Posted April 14, 2015 Report Share Posted April 14, 2015 1 и 2 можно и СПДС таблицами сделать. 3. "определить градус поворота второго линя относительно первого"-ввод линий вероятно должен быть "пользовательским" чтобы последовательно у пар линий углы вычислять. может быть это и средствами таблиц решаемо , ведь мы координаты начала и конца линий можем получить, а дальше вычислить угол относительно МСК... Думаю Вам стоит написать в каком виде Вы хотели бы видеть конечный результат. Quote Link to comment Share on other sites More sharing options...
macrodaemon Posted April 14, 2015 Report Share Posted April 14, 2015 McObjectId id1 = McObjectManager.SelectObject("Select first line"); McObjectId id2 = McObjectManager.SelectObject("Select second line"); DbLine line1 = id1.GetObject(); DbLine line2 = id2.GetObject(); if(line1 != null && lne2 != null) { double Angle = line1.Line.Direction.GetAngleTo( line2.Line.Direction); double Line1Length = line1.Line.Length; double Line2Length = line2.Line.Length; } Quote Link to comment Share on other sites More sharing options...
Laziz Posted April 14, 2015 Author Report Share Posted April 14, 2015 (edited) Спасибо за ответ Ivanco. Эти варианты тоже изучу. Конечный результат угадал macrodaemon, в виде кода хотел бы увидеть. macrodaemon Все отлично но, еще один вопрос, double Angle = line1.Line.Direction.GetAngleTo( line2.Line.Direction); дает вот такой результат как это понят??? Edited April 14, 2015 by Laziz Quote Link to comment Share on other sites More sharing options...
Ivanco Posted April 14, 2015 Report Share Posted April 14, 2015 как это понят??? две длинны линии и угол между ними в радианах. Округлить до нужной точности и перевести в градусы, вероятно.. Quote Link to comment Share on other sites More sharing options...
Laziz Posted April 14, 2015 Author Report Share Posted April 14, 2015 как это понят??? две длинны линии и угол между ними в радианах. Округлить до нужной точности и перевести в градусы, вероятно.. Спасибо, в точку попали. Про радианах почему та не подумал. Еще один вопрос: В некоторых случаях не правильно подсчитывает угол поворота дольжно 45 градус а показывает 135, из за чего эта может быть? Quote Link to comment Share on other sites More sharing options...
dows Posted April 14, 2015 Report Share Posted April 14, 2015 очевидно же - у вас линия скорее всего начерчена справа налево. Т.е. ее вектор направлен влево и программа считает угол с другой стороны: Quote Link to comment Share on other sites More sharing options...
amk Posted April 16, 2015 Report Share Posted April 16, 2015 Кстати, есть в последнем случае какой-нибудь способ заставить nanocad рисовать угловой размер там где нужно, а не где попало? Правда картинка у моём случае немного отличалась, нижняя линия у меня продолжалась в обе стороны (это был один из отрезков полилинии, в месте простановки угла он рисовался слева направо). Мне нужно было проставить угол справа от наклонной (который острый), но он упорно ставился с другой стороны. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.