Как отобразить координаты точек в автокаде в таблице
Обновлено: 24.11.2024
Блог для разработчиков, использующих платформы Autodesk, особенно AutoCAD и Forge. Особое внимание уделяется AR/VR и IoT.
6 марта 2013 г.
Проснувшись сегодня утром, я не ожидал, что напишу пост на эту тему, но потом я обнаружил в своем почтовом ящике доброе электронное письмо от старого друга и коллеги Ишвара Нагвани с кодом, который он написал, и хотел видеть опубликованным. Ишвар сгенерировал тестовый код в ответ на следующий вопрос члена команды ADN:
Этот вопрос заключается в том, чтобы получить соответствующую Z поверхности/тела, учитывая точку XY. Это относится к абсолютной координате, а не к точке в пространстве параметров. Кажется, я не нашел прямого пути, кроме как создать линию по оси Z от XY и вычислить точку пересечения с поверхностью.
На самом деле вопрос заключается в том, чтобы позволить пользователю указать точку в координатах X, Y (предположительно относительно текущей ПСК), а код должен определить значение Z, необходимое для того, чтобы точка находилась на заданной поверхности. р>
Наблюдение Ишвара заключалось в том, что для определения этого значения «высоты» можно использовать метод Surface.RayTest(). Он собрал некоторый код, который позволяет вам выбирать линии, перпендикулярные интересующей вас плоскости X, Y, и создавать результирующую точку на выбранной поверхности. В коде также показано, как выделить часть поверхности, содержащую вычисленную точку.
используя AcDb = Autodesk.AutoCAD.DatabaseServices;
Команды общедоступного класса
public void SurfaceRay()
var doc = Приложение .DocumentManager.MdiActiveDocument;
var db = doc.База данных;
var ed = doc.Editor;
// Просим пользователя выбрать поверхность
var peo = new PromptEntityOptions ("\nВыберите поверхность");
peo.SetRejectMessage("\nДолжна быть поверхностью." );
peo.AddAllowedClass( typeof (AcDb. Surface ), false );
var per = ed.GetEntity(peo);
if (per.Status != PromptStatus .OK)
new TypedValue (( int ) DxfCode .Start, "LINE" )
// Просим пользователя выделить несколько строк
var pso = new PromptSelectionOptions();
pso.MessageForAdding = "Выбрать строки" ;
pso.MessageForRemoval = "Удалить строки" ;
var psr = ed.GetSelection(pso, sf);
if (psr.Status == PromptStatus .OK && psr.Value.Count > 0)
используя ( var tr = db.TransactionManager.StartTransaction())
// Мы начнем с получения таблицы блоков и пространства модели
// (которые на самом деле нужны только для результатов, к которым мы добавим
db.BlockTableId, OpenMode .ForRead
bt[ BlockTableRecord .ModelSpace], OpenMode .ForWrite
// Далее мы получим наш объект поверхности
var obj = tr.GetObject(per.ObjectId, OpenMode .ForRead);
var Surf = obj как AcDb. Поверхность ;
// Никогда не должно происходить, но все же
ed.WriteMessage("\nПервый объект должен быть поверхностью." );
// Луч огня для каждой выбранной строки
foreach (идентификатор переменной в psr.Value.GetObjectIds())
var ln = tr.GetObject(id, OpenMode .ForRead) as Line ;
если (ids.Length == 0)
ed.WriteMessage("\nПересечения не найдены." );
// Выделите каждую подсущность и добавьте точку
для ( int i = 0; i
// Выделяем субобъект
// Создаем точку на линии-поверхности
// Добавляем новый объект в таблицу блоков
// запись и транзакция
Теперь есть причина, по которой этот пост помечен как «Часть 1»: приведенный выше код делает ряд преднамеренных предположений, таких как тот факт, что линии, которые выбирает пользователь (для определения начальной точки и направления луча, мы будем использовать для проверки поверхности) должны быть нормальны к WCS. Код действительно предназначен для того, чтобы убедиться, что метод RayTest() можно эффективно использовать для определения значения Z пересечения линии и поверхности. Код явно не будет работать на линиях, которые не перпендикулярны плоскости X, Y WCS, но в таком случае он и не должен работать.
Мы рассмотрим реализацию чего-то более надежного, позволяющего пользователю выбрать точку X, Y в текущей ПСК, а затем провести линию между выбранной точкой и пересечением поверхности и луча, проведенного от этой точки. точки относительно текущей ПСК – в следующей части этой серии.
А пока команда SURFRAY в действии. Вот базовая поверхность Ишвара, снабженная несколькими пересекающимися линиями (которые, конечно, перпендикулярны плоскости WCS):
Когда мы запускаем команду SURFRAY и выбираем поверхность и крайнюю левую линию, мы видим, что сегмент поверхности, в котором они пересекаются, выделяется (команды unhighlight нет: вам, вероятно, потребуется переключить визуальные стили на «2D Wireframe» и обратно). », чтобы убрать выделение с 3D-вида). В точке пересечения также была создана точка, но для ее обнаружения потребуется очень хорошее зрение:
Итак, в следующий раз мы реализуем команду, которая просит пользователя выбрать сначала поверхность, а затем ряд точек, которые находятся «под» поверхностью, что приведет не только к созданию точки пересечения, но и линия, ведущая от него обратно к первоначально выбранной точке. Разумеется, все работает в текущей активной UCS.
<р>2. В диалоговом окне "Географическое положение" нажмите "Далее". <р>3. В списке Система координат ГИС выберите нужную систему координат. <р>4. Нажмите «Продолжить». <р>5. Нажимайте клавишу ВВОД, пока не выйдете из команды.Как сделать таблицу координат?
<р>1. Множественный выбор точек в одном из представлений или во всех представлениях. <р>2. Нажмите значок «Координатная таблица размеров» на панели инструментов «Нанесение размеров», чтобы запустить команду создания таблицы. <р>3. Отобразится диалоговое окно параметров системы и таблицы Axis. <р>4. Выберите систему Axis.Как ввести несколько координат в AutoCAD?
<р>1. На панели инструментов QuickCalc нажмите кнопку «Получить координаты». QuickCalc временно закроется, и вам будет предложено указать точку. <р>2. На чертеже щелкните точку. Используйте объектные привязки для обеспечения точности. QuickCalc откроется и отобразит координаты точки в поле ввода.Как вставить список точек в AutoCAD?
Чтобы сделать точку, просто введите PO, нажмите клавишу ввода, а затем щелкните точку в области рисования или укажите координаты точки, в которой вы хотите сделать точку. По умолчанию точка отображается в виде одной точки в области рисования, и вы можете использовать эти точки для создания своего рисунка.
Как вы показываете координаты?
<р>1. Откройте Google Планета Земля. <р>2. Вверху нажмите Инструменты. Параметры. <р>3. Щелкните 3D-вид. Затем в разделе "Показать широту/долготу" выберите формат отображения. <р>4. Нажмите «ОК». Координаты будут отображаться в правом нижнем углу.Как вы используете команду Dimordinate?
Измеряет ординату Y и определяет ориентацию линии выноски и размерного текста. Отобразятся подсказки конечной точки лидера, где вы можете указать конечную точку. Отображает встроенный текстовый редактор, который можно использовать для редактирования размерного текста. 12 августа 2020 г.
Что такое координатная таблица?
Таблица «Координаты XY» используется для определения списка местоположений координат X, Y, которые будут использоваться для определения конечных точек панели на диаграмме поперечного сечения RockWorks. Координатная плоскость состоит из двух пересекающихся числовых линий, одна из которых проходит горизонтально, а другая вертикально. 2020
Отображение координат точки | AutoCAD LT 2017…
Перейдите на вкладку "Главная" панель "Утилиты" ID Point. Находить. Щелкните место, которое вы хотите определить. Значения координат X, Y, Z отображаются в командной строке. Когда объектная привязка включена, вы можете выбрать объект и увидеть координаты объекта, такого как конечная точка, средняя точка или центр. Задайте вопрос.
Создайте точки, используя координаты X, Y, Z (восток, север…
На нашем листе Excel координаты X, Y, Z точки 1 находятся в ячейках B2, C2 и D2 соответственно. Из истории команд видно, что синтаксис создания точки в AutoCAD — POINT X,Y,Z. Для создания точки с использованием координат, указанных в ячейках B2, C2 и D2, мы должны объединить данные в ячейках B2, C2 и D2, которым предшествует команда POINT.
Как вставить координаты xy в autocad?
Что такое система координат AutoCAD? Каждая точка в файле чертежа AutoCAD может быть идентифицирована по ее координатам X, Y, Z. (В большинстве 2D-чертежей значение координаты Z равно 0,0.) Эта система координат называется в AutoCAD мировой системой координат или WCS.
Возможно, вам тоже интересно:
Обозначение координат XY в AutoCAD | Симетри
17/11/2020 · На вкладке «Вставка» > «Панель блоков» выберите инструмент «Вставка», а в галерее блоков выберите «СИМВОЛ КООРДИНАТЫ XY». 22. Поместите пару этих блоков и каждый раз, когда появляется диалоговое окно «Редактировать атрибуты», нажимайте «ОК», чтобы принять значения по умолчанию. 23.
Как вставить координаты XY в AutoCAD — Quora
Как вставить координаты XY в AutoCAD – Quora. Что-то пошло не так. Подождите немного и повторите попытку.
Нанесение размеров с использованием координат x и y – сообщество Autodesk
21/10/2006 · Если вы хотите пометить как X, так и Y в формате "X,Y", поставьте точку. в каждом месте, которое вы хотите пометить, и используйте Поле, чтобы показать два. координаты точки одним текстом — просто снимите галочку с отображения. поля Z.
Как преобразовать GPS-координаты в x,y,z — Autodesk
29/07/2001 · В основном, ваши GPS-координаты относятся к экватору. (0-широта) и Гринвич (0-долгота) и нормальный уровень моря. Преобразовать ваши показания широты довольно легко, так как одна морская миля равна. одна минута широты, что означает, что ваша «координата X» равна 1,852 x 60 x (56 +. (43,827/60)) = 6303,887 км к северу от экватора.
Как: Метка координат в AutoCAD | CAD-примечания
11.09.2009 · В поле по умолчанию введите ‘X Y = ‘, затем нажмите «Вставить поле». Измените категорию поля на объекты, а в именах полей выберите объект. Нажмите кнопку выбора объекта, чтобы определить тип объекта. Выберите круг, больше ничего не выбирайте! AutoCAD отобразит список всех доступных свойств.
Мне несколько раз задавали этот вопрос: можем ли мы автоматически обозначить наши координаты в AutoCAD? Если вы являетесь пользователем Civil3D, вы, скорее всего, предложите им использовать C3D. Но может ли AutoCAD сделать это? ДА!
Я видел, как многие люди используют AutoLISP для выполнения этой задачи. Это прекрасно работает. Но иногда вам может понадобиться свой символ маркировки и формат. Так почему бы не использовать поле?
Создание эталонного объекта
Во-первых, нам нужно создать объект в качестве точки отсчета. Это может быть точка, круг или любой символ, который вы хотите отобразить. Я использую этот символ.
Я предпочитаю использовать точку или круг. Мы можем легко использовать положение точки или центр окружности.
Создание определения атрибута
После того, как у нас есть эталонный объект, нам нужно определить определение атрибута. Вы можете активировать его, щелкнув его на ленте, главной вкладке, панели блока.
Или просто введите ATTDEF, а затем [enter].
Давайте определим наш атрибут. Дайте тег атрибута, подсказка, как показано ниже. В поле по умолчанию введите ‘X Y = ‘, затем щелкните вставить поле.
Измените категорию поля на объекты, а в именах полей выберите объект. Нажмите кнопку выбора объекта, чтобы определить тип объекта. Выберите круг, больше ничего не выбирайте!
AutoCAD отобразит список всех доступных свойств. Выберите центр (или, если вы используете точку, выберите положение). Поскольку я использую его только в 2D-чертежах, он мне не нужен для отображения значения Z. Я выключаю его. При необходимости измените формат. Нажмите «ОК».
Нажмите кнопку "ОК" еще раз, чтобы закрыть диалоговое окно определения атрибута. Поместите определение атрибута в нужное место.
Необязательно: определение регулируемой выноски
Если вы не хотите, чтобы выноска отображалась на метке координат, пропустите этот шаг.
Я добавляю линию, которая будет использоваться в качестве выноски.
Создать блок
Теперь мы можем определить блок. Нажмите «Создать из ленты», «Панель блоков».
Выберите все объекты и определите центр как точку вставки . Активируйте Открыть в редакторе блоков в левом нижнем углу этого диалогового окна. Мы собираемся добавить некоторые «динамические» функции. Нажмите "ОК".
AutoCAD отобразит диалоговое окно редактирования атрибута. Мы не хотим изменять его, поскольку он обновляется автоматически. Просто нажмите ОК.
Добавьте ручку управления
Что мы хотим сделать, так это добавить элемент управления захватом, чтобы мы могли изменить размещение текста (и, возможно, выноски). В палитре разработки блоков активируйте параметр точки.
Теперь поместите его туда, где должна быть ручка.
Теперь активируйте действие растяжения.
Выберите параметр точки, создайте растягивающуюся рамку, как показано ниже, и выберите линию и определение атрибута. [Введите], чтобы закончить.
Теперь мы закончили! Сохраните этот блок и закройте редактор блоков.
Использование ярлыка
Как мы можем использовать этот ярлык? Просто вставьте блок и нажмите на точку, которую вы хотите показать координаты. После того, как у вас есть один из блоков на чертеже, вы можете скопировать его и разместить в нескольких нужных точках.
Поскольку мы добавляем ручку управления, мы можем перемещать текст и положение выноски!
Поскольку мы используем поле, если вы переместите свои точки, значение будет автоматически обновлено! Очень круто, не так ли?
Почему определение атрибута? Почему бы просто не использовать текст?
Вы можете спросить: почему бы просто не использовать текст в поле? Я знаю, что мы можем вставить поле в текст, однострочный или многострочный. Но это не работает. Вы можете попробовать сами.
Очевидно, что при создании блока поле всегда будет считать контрольной точкой 0,0,0. Это работает, если вы не создаете из них блок, но я думаю, вы хотите использовать его как повторно используемый контент, не так ли?
Видеоинструкция
Если у вас возникли проблемы, вы можете использовать это видео в качестве руководства по созданию и использованию блока меток координат.
Об Эдвине Пракосо
Я работаю старшим техническим консультантом в Tech Data Advanced Solutions Indonesia. Я использую AutoCAD с R14 и Revit с Revit Building 9. Время от времени я пишу для журнала AUGIWorld, а также активно участвую в дискуссионном форуме Autodesk.
Я сертифицированный специалист Autodesk (ACP) по Revit Architecture и AutoCAD. Я также являюсь членом Autodesk Expert Elite, признательным людям, которые вносят свой вклад в сообщество Autodesk.
Свяжитесь со мной в Twitter или LinkedIn
Читайте также: