Lisp/ActiveX Неверная точка начала полилинии или я что-то не то делаю.
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Lisp/ActiveX Неверная точка начала полилинии или я что-то не то делаю.

Lisp/ActiveX Неверная точка начала полилинии или я что-то не то делаю.

Ответ
Поиск в этой теме
Непрочитано 07.11.2013, 10:15 #1
Lisp/ActiveX Неверная точка начала полилинии или я что-то не то делаю.
Kirill_Ja
 
Мурманск
Регистрация: 28.07.2008
Сообщений: 208

Код:
[Выделить все]
 (defun tg_get_dist_at_point (pline point / )
(vlax-curve-getDistAtPoint
  pline
  (vlax-curve-getClosestPointToProjection
	pline
	point
	'(0 0 1)
	""
  )
)

);end defun

Он по точке point и указателю ActiveX на полилинию pline
выдает на какаком расстоянии от начала расположена точка.

Теперь есть файлик с полилиниями (пока 2-я) У них начало где-то не в начале.
В частности красная по свойствам 760 ед длины, но ее последняя точка расположена на расстоянии 580.49 от ее начала(((
_audit сделал

Есть мысли что не так?

Вложения
Тип файла: dwg
DWG 2007
Dyke.dwg (106.1 Кб, 979 просмотров)

__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Просмотров: 3138
 
Непрочитано 07.11.2013, 10:44
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411


Ты же уже "напарывался" на последний аргумент функции.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 07.11.2013, 10:55
#3
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


В том-то и дело. Что-то я думал что тогда все заработало (не исключаю, что из-за того, что все заработало)
, но с этими 3Дполилиниями что-то не так.

Код:
[Выделить все]
 (VL-CMDF "_circle" (vlax-curve-getPointAtDist (vlax-ename->vla-object (car (entsel))) 30) "10")
Если использовать такой код, то видно, что точки, которые должны лежать на линии не лежат на линии О_о
Более того, вершины тоже как-то вне полилинии лежат.

Код:
[Выделить все]
 (VL-CMDF "_circle" (vlax-curve-getPointAtParam (vlax-ename->vla-object (car (entsel))) 5) "10")
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
 
Непрочитано 07.11.2013, 11:11
#4
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


такой подход показывает только привязки
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 07.11.2013, 11:13
#5
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


В смысле привязки?
Если ты имеешь в виду, что круг рисуется там куда он привяжется автопривязкой, тут я с тобой согласен.
Более того, я заранее ее отключил, чтобы не влияла на результат.
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.

Последний раз редактировалось Kirill_Ja, 07.11.2013 в 11:24.
Kirill_Ja вне форума  
 
Непрочитано 07.11.2013, 12:03
#6
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


у тебя 3d полилинии не лежат на плоскости xy в этом вся беда
gomer вне форума  
 
Непрочитано 07.11.2013, 12:11
#7
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Kirill_Ja Посмотреть сообщение
и указателю ActiveX на полилинию pline
Можно передавать просто ENAME, вроде даже быстрее работать будет.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Автор темы   Непрочитано 07.11.2013, 12:14
#8
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


Дак и не должны. Смысл в том, что мы ищем точку на полилинии, проекция которой на плоскость xoy - ближайшая к нужной нам.
Для примера другой файл. Тоже 3Дполи, но все работает как надо. Расстояние определяется, точки и узлы лежат на кривой.

Может есть способ чем-то еще проверить DWG файл кроме _audit? Там что-то друг другу не соответствует.
Вложения
Тип файла: dwg
DWG 2007
кривая.dwg (91.3 Кб, 892 просмотров)
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
 
Непрочитано 07.11.2013, 15:49
#9
Vov.Ka


 
Регистрация: 21.07.2008
Луцьк
Сообщений: 179


_-view _top

ps это к данной теме не относиться, но "" это не nil
Vov.Ka вне форума  
 
Автор темы   Непрочитано 07.11.2013, 17:12
#10
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


Цитата:
Сообщение от Vov.Ka Посмотреть сообщение
_-view _top

ps это к данной теме не относиться, но "" это не nil
Если имеется в виду регенерация модели - вроде не помогает.

Я в итоге вышел из положения просто скопировав все в новый файл. Сразу все, что не работало заработало.
Почему так сейчас нет времени копаться - надо результат.

По поводу "" не nil, я в курсе. Так и задумано, но все равно спасибо)))
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
 
Непрочитано 07.11.2013, 17:19
#11
Vov.Ka


 
Регистрация: 21.07.2008
Луцьк
Сообщений: 179


Цитата:
Сообщение от Kirill_Ja Посмотреть сообщение
Если имеется в виду регенерация модели - вроде не помогает.
имелось ввиду, что у тебя установлена пользовательская UCS
Vov.Ka вне форума  
 
Автор темы   Непрочитано 07.11.2013, 17:48
#12
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


Мысль понятна, но, вроде, мимо. Я еще раз проверю, чтобы наверняка, а то так тайной и останется.
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
 
Непрочитано 07.11.2013, 18:10
#13
Vov.Ka


 
Регистрация: 21.07.2008
Луцьк
Сообщений: 179


Цитата:
Сообщение от Kirill_Ja Посмотреть сообщение
Я еще раз проверю
зачем?
я уже все проверил за тебя
Vov.Ka вне форума  
 
Автор темы   Непрочитано 08.11.2013, 01:10
#14
Kirill_Ja


 
Регистрация: 28.07.2008
Мурманск
Сообщений: 208
<phrase 1=


От ано как!!!!! Получается (getpoint) выдает координаты в ПСК, а (vla-curve-..)- принимают и вычисляют в МСК. В принципе так и написано в мануале...))))
Спасибо Вов.Ка. И нету никакой тайны)
__________________
Мне не нужно сделать за меня. Если я что-то ищу, то пути решения.
Kirill_Ja вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Lisp/ActiveX Неверная точка начала полилинии или я что-то не то делаю.



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расстояние от начала полилинии до опеделенной точки bimari AutoCAD 42 25.03.2021 13:57
Линии электрических соединений Shoorup Программирование 23 07.02.2015 15:13
Получение координат точки, лежащей на полилинии на расстоянии n от ее начала. Kirill_Ja Программирование 1 25.09.2012 10:15
Не могу открыть новые окна в AutoCAD 2008 DEM3605 AutoCAD 4 17.11.2010 01:49
точка пересечения на полилинии Mazai Программирование 2 19.05.2008 17:42