Перейти к содержимому


Координаты полилиний


Сообщений в теме: 29

#21 Stuk

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 07 Июль 2017 - 11:37

Изначально был в эксел, потом перевел в ворд. Разделитель мехду Х и У - запятая, между соседними парами координат - знак абзаца. При копировании в командную строку нанокада копируется только первая пара координат, хотя в автокаде по такой схеме вроде как можно сразу все точки построить.

#22 Robink

    Активист

  • Пользователи
  • PipPipPipPip
  • 360 сообщений
  • Пол:Мужчина
  • Город:Казань
  • Интересы:САПРостроение

Отправлено 07 Июль 2017 - 12:08

Просмотр сообщенияStuk (07 Июль 2017 - 11:37) писал:

Изначально был в эксел, потом перевел в ворд. Разделитель мехду Х и У - запятая, между соседними парами координат - знак абзаца. При копировании в командную строку нанокада копируется только первая пара координат, хотя в автокаде по такой схеме вроде как можно сразу все точки построить.
Десятичный разделитель какой у координат? (если не целые)
Между полилиниями какой разделитель?
Выложите координаты, лучше в эксель.

#23 Stuk

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 07 Июль 2017 - 13:01

Десятичный разделитель - точка, по поводу разделителя полилиний не могли бы Вы уточнить, о чем идет речь, у меня задача по множеству координат нарисовать одну полилинию с большим количеством вершин. Файл с координатами готов выложить, если подскажете, как это сделать.

#24 Kreator

    Активист

  • Пользователи
  • PipPipPipPip
  • 710 сообщений
  • Пол:Мужчина
  • Город:Краснодар

Отправлено 04 Сентябрь 2017 - 10:57

Задача ещё актуальна? Файл можно выложить в Расширенной форме (кнопка снизу справа).
Полховский А.В. Проектирование железнодорожных путей
nanoCAD Plus 10.1.4493.2427; MultiCAD.NET

#25 Stuk

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 04 Сентябрь 2017 - 11:08

Спасибо за ответ. Задачу решил штатными средствами автокада.

#26 Сергей Ко

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 21 Июль 2018 - 14:43

Доброго все дня!
Озадачился получением координат полилиний из чертежа в nanoCAD 5.1.
Столкнулся с проблемой: не удается получить атрибуты графического объекта. Перебираю все объекты, когда нахожу полилинию, пытаюсь преобразовать типы:
if ncModelSpace.Item(i).EntityName = 'AcDbPolyline' then
	ncPoly := IAcadPolyline(ncModelSpace.Item(i));
Поля, которые описаны в AcadEntity доступны, например
ncPoly.ObjectName
При попытки чтения значения из поля из объекта полилиния, например
ncPoly.Coordinates
вылетает ошибка.
В связи с этим вопрос: не реализовано что-то, или я делаю что-то не так?
Подскажите, как получить координаты полилинии?

#27 Ivanco

    Дилер

  • Дилеры
  • PipPipPipPip
  • 292 сообщений
  • Пол:Мужчина
  • Город:Красноярск
  • Интересы:САПР

Отправлено 23 Июль 2018 - 08:49

Просмотр сообщенияСергей Ко (21 Июль 2018 - 14:43) писал:

Подскажите, как получить координаты полилинии?
http://forum.nanocad...?showtopic=7021
давненько писал приложение, для получение координат полилинии. наврядли в 5.1 оно заработает.
исходники на гитхабе. там много всякого по полилиниям. может будет полезно. по 5.1 версии , по коду, не подскажу.
"ИнфоИндастри" г.Красноярск,г.Иркутск,г.Владивосток-официальный дилер Нанософт
YouTube,GitHub - Ivanco21, using:C#/MultiCAD.NET

#28 Сергей Ко

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 23 Июль 2018 - 10:41

Тут Вы правы, в 5.1 не заработала( Но многообещающая программа.
Вдруг ответят разработчики...

#29 Ivanco

    Дилер

  • Дилеры
  • PipPipPipPip
  • 292 сообщений
  • Пол:Мужчина
  • Город:Красноярск
  • Интересы:САПР

Отправлено 23 Июль 2018 - 11:04

Просмотр сообщенияСергей Ко (23 Июль 2018 - 10:41) писал:

Но многообещающая программа.
ничего она не обещает) . все заявленные функции в нано плюс 7/8 работают. а может и выше - я не пробовал.
под новые версии нано адаптировать, личной потребности не было.
а с форума никто не спрашивал, на развитие новых функций, я тоже как бы забил вроде.

Сообщение отредактировал Ivanco: 23 Июль 2018 - 11:11

"ИнфоИндастри" г.Красноярск,г.Иркутск,г.Владивосток-официальный дилер Нанософт
YouTube,GitHub - Ivanco21, using:C#/MultiCAD.NET

#30 Сергей Ко

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений

Отправлено 24 Июль 2018 - 16:07

Оказалось, что все замечательно работает в VBA
Если вдруг кто столкнется, выкладываю наброски кода (работает)
'Использованные переменные

Dim ncApp As New nanoCAD.Application
Dim ncDoc As nanoCAD.Document
Dim MSpace As AcadModelSpace
Dim ncObject As AcadEntity
Dim ncPoly As AcadLWPolyline
'Создаем переменную, само подключается к приложению
Set ncDoc = ncApp.ActiveDocument
Set MSpace = ncDoc.ModelSpace
'Пробегаем по всем графическим объектам 
For ObjIndex = 0 To MSpace.Count - 1
   'Если полилиния, то ищем координаты
   If ncObject.ObjectName = "AcDbLWPolyline" Or ncObject.ObjectName = "AcDbPolyline" Then
	  Set ncPoly = MSpace.Item(ObjIndex)
	  'Пробегаем по всем координатам
	  For i = LBound(ncPoly.Coordinates) To UBound(ncPoly.Coordinates) - 1
	    With Worksheets("Координаты")
		   .Cells(Row, 1).Formula = ObjIndex + 1
		   .Cells(Row, 2).Formula = n
		   .Cells(Row, 3).Formula = ncPoly.Coordinates(i)
		   .Cells(Row, 4).Formula = ncPoly.Coordinates(i + 1)
		    Row = Row + 1
		    n = n + 1 'скачем через одну позицию
		    i = i + 1
	    End With
	  Next
    End If
Next

Сообщение отредактировал Сергей Ко: 24 Июль 2018 - 16:08






Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей