как начертить/сгенерировать линию между 2 полилиниями так, чтобы она лежала посередине (на равном расстоянии от них)?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > как начертить/сгенерировать линию между 2 полилиниями так, чтобы она лежала посередине (на равном расстоянии от них)?

как начертить/сгенерировать линию между 2 полилиниями так, чтобы она лежала посередине (на равном расстоянии от них)?

Ответ
Поиск в этой теме
Непрочитано 20.02.2013, 12:13 #1
как начертить/сгенерировать линию между 2 полилиниями так, чтобы она лежала посередине (на равном расстоянии от них)?
kleo
 
Регистрация: 04.01.2013
Сообщений: 3

Есть участок дороги, известно, где проходят линии вдоль обочин. Мне необходимо начертить линию точно между этими двумя полилиниями. Пробовал использовать offset, но не получил требуемой точности. У кого-нибудь есть идеи?

см. рисунок

Миниатюры
Нажмите на изображение для увеличения
Название: 12.JPG
Просмотров: 440
Размер:	35.4 Кб
ID:	97193  

Просмотров: 2570
 
Непрочитано 20.02.2013, 12:30
#2
skif58

Наше дело труба
 
Регистрация: 19.11.2006
Томск_Комсомольск-на-Амуре
Сообщений: 1,736
<phrase 1= Отправить сообщение для skif58 с помощью Yahoo Отправить сообщение для skif58 с помощью Skype™


команда MPL (Средняя полилиния из Pltools)
http://dwg.ru/dnl/607
__________________
*...И Случай, бог изобретатель. *

Последний раз редактировалось skif58, 20.02.2013 в 12:35.
skif58 вне форума  
 
Автор темы   Непрочитано 20.02.2013, 13:22
#3
kleo


 
Регистрация: 04.01.2013
Сообщений: 3


Спасибо!
Отличное приложение- Единственная проблема - текст в командной строке на русском языке. Я изпользую версию на английском, поэтому все отображается как иеголифы. И еще. Когда генерируешь среднюю линию между двумя длинными полилиниями, то лучше разбивать эти линии на более короткие - повышается точность. Если у кого есть другие идеи - пишите.
kleo вне форума  
 
Непрочитано 20.02.2013, 13:38
#4
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 6,010


От Lee Mac (http://www.cadtutor.net/forum/showth...093#post271093)
Код:
[Выделить все]
 (defun c:cPoly (/ ent1 ent2 i j mPt len pt p1 ptlst grlst grlin)
  (vl-load-com)

  (if (and (setq ent1 (car (entsel "\nSelect First Polyline: ")))
           (wcmatch (cdr (assoc 0 (entget ent1))) "*POLYLINE"))
    (if (and (setq ent2 (car (entsel "\nSelect Second Polyline: ")))
             (wcmatch (cdr (assoc 0 (entget ent2))) "*POLYLINE"))
      (progn
        (setq i -1 len (/ (vla-get-Length
                            (vlax-ename->vla-object ent1)) 100.) grlin '( ))
        (while (and (grread 't)
                    (setq pt (vlax-curve-getPointatDist ent1 (* (setq i (1+ i)) len))))
          (redraw)
          (setq p1 (vlax-curve-getClosestPointto ent2 pt t)
                ptlst (cons
                        (setq mPt
                          (polar pt (angle pt p1) (/ (distance pt p1) 2.))) ptlst) j -1 grlst nil)
          (repeat 500
            (setq grlst
              (cons
                (polar mPt (* (setq j (1+ j)) (/ pi 250.)) (distance mPt p1)) grlst)))
          (setq grlin (append grlin (list (if grlin (last grlin) mPt) mPt)))
          (grvecs (append '(3) grlst (cdr grlst) (list (car grlst))))
          (grvecs (append '(1) grlin)))
        (redraw)
        (setq ptlst (apply 'append
                      (mapcar
                        (function
                          (lambda (x)
                            (list (car x) (cadr x)))) ptlst)))
        (vla-AddLightWeightPolyline
          (vla-get-ModelSpace
            (vla-get-ActiveDocument
              (vlax-get-acad-object)))
          (vlax-make-variant
            (vlax-safearray-fill
              (vlax-make-safearray
                vlax-VBDouble (cons 0 (1- (length ptlst)))) ptlst))))))

  (princ)) 
Nike вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > как начертить/сгенерировать линию между 2 полилиниями так, чтобы она лежала посередине (на равном расстоянии от них)?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19