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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Распределение точек по длине линии

Распределение точек по длине линии

Ответ
Поиск в этой теме
Непрочитано 06.09.2011, 13:26 #1
Распределение точек по длине линии
koovp
 
Регистрация: 06.09.2011
Сообщений: 6

подскажите, как распределить точки (или блоки) по линии, т.е не разбить линию на равные части, а распределить по ее длине определенное кол-во точек? (при этом по краям дожны быть меньшие расстояния)
Просмотров: 4115
 
Непрочитано 06.09.2011, 13:29
#2
Сергей Богатов


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



_divide чтоля?

А нет(внимательно прочитал условие) Тогда макрос...
__________________
Я-проектировщик бывший проектировщик!
Сергей Богатов вне форума  
 
Автор темы   Непрочитано 06.09.2011, 18:20
#3
koovp


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


а где это макрос взять?
koovp вне форума  
 
Непрочитано 06.09.2011, 18:26
#4
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


а макрос самому писать. Или делать разрыв линии вручную в этих двух точках (первой и последней). А остальное командой.
KSI вне форума  
 
Непрочитано 06.09.2011, 18:29
#5
Nike

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


_measure
Nike вне форума  
 
Непрочитано 06.09.2011, 18:35
#6
Vintorez

Конструктор
 
Регистрация: 03.01.2011
Бельцы_Молдавия
Сообщений: 903


Цитата:
Сообщение от Nike Посмотреть сообщение
_measure
или Разметить .(в русской версии)
Vintorez вне форума  
 
Непрочитано 06.09.2011, 18:40
#7
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


только меньшие участки на концах линии не получатся.
Хмурый вне форума  
 
Непрочитано 07.09.2011, 11:35
1 | #8
GRIFEL

пенсионер-конструктор
 
Регистрация: 11.02.2011
Калуга
Сообщений: 68


Код:
[Выделить все]
 (defun c:test(/ pn pk pt e ee an dl n r rc)
  (setq e(car(entsel"\n Ïîêàæè ëèíèþ äëÿ ðàçìåùåíèÿ : "));óêàçàëè ëèíèþ
	ee(entget e)       ;ïîëó÷èëè ñïèñîê åå äàííûõ
	pn(cdr(assoc 10 ee));íà÷àëüíàÿ òî÷êà
	pk(cdr(assoc 11 ee));êîíå÷íàÿ òî÷êà
	an(angle pn pk)      ;óãîë íàêëîíà ëèíèè
	dl(getreal"\n Ðàçìåð îòñòóïà îò íà÷àëà ëèíèè : ");ââåëè çíà÷åíèå
	n(getint"\n Êîëè÷åñòâî ðàçìåùàåìûõ ýëåìåíòîâ : ");ââåëè çíà÷åíèå
	pt(polar pn an dl);ïîëó÷èëè ïåðâóþ òî÷êó âñòàâêè
	r(/(-(distance pn pk)(* dl 2)) (1- n));îïðåäåëèëè øàã
	rc(/(getreal" \n Äèàìåòð ðàçìåùàåìîé îêðóæíîñòè  : ")2); íàïðèìåð çàïðîñ ïî ýëåìåíòó âñòàâêè    
  )

  (repeat n ;ïîâòîðÿåì n ðàç íàïðèìåð ïîñòðîåíèå îêðóæíîñòè
  (entmakex (list(cons 0 "CIRCLE")(cons 10 pt)(cons 40 rc)))
    (setq pt(polar pt an r));ïåðåîïðåäåëÿåì òî÷êó
  )(princ)
 )
Макрос может выглядеть примерно так ....
GRIFEL вне форума  
 
Автор темы   Непрочитано 08.09.2011, 00:49
#9
koovp


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


GRIFEL, только применить его еще.) щас открыл применение -там целая история. надо как-то почитать и попробовать
koovp вне форума  
 
Непрочитано 08.09.2011, 09:39
1 | #10
GRIFEL

пенсионер-конструктор
 
Регистрация: 11.02.2011
Калуга
Сообщений: 68


Скопируй код в файл с любым названием и с расширением .lsp . Загрузи его командой APPLOAD и командой TEST с клавиатуры запусти функцию . В данном варианте будут прорисованы окружности в необходимых точках ..... если в этих зонах что-то другое нужно разместить - привязкой к центру это сделать можно , или уточни задачу ... подправь код
GRIFEL вне форума  
 
Автор темы   Непрочитано 08.09.2011, 14:23
#11
koovp


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


сработать макрос не получилось. команду test не знает (версия автокада 2008 англ)
через создание новой команды пробую юзать:
1) номера строк тоже в макрос копировать 2) со шрифтом ерунда http://clip2net.com/s/1a3mI (при создании лсп-файла ругался)
koovp вне форума  
 
Непрочитано 08.09.2011, 16:47
1 | #12
ie.spb

Инженер
 
Регистрация: 21.08.2007
Сообщений: 598
<phrase 1=


Цитата:
Сообщение от koovp Посмотреть сообщение
1) номера строк тоже в макрос копировать
Номера строк копировать не надо
__________________
Склероз нельзя вылечить, но о нем можно забыть.
(Ф. Раневская)
ie.spb вне форума  
 
Непрочитано 08.09.2011, 18:15
1 | #13
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,072


"Как использовать код на Лиспе читаем здесь".
У всех срабатывает
Буквально то же, что описал своими словами GRIFEL в #10.
АлексЮстасу вне форума  
 
Непрочитано 08.09.2011, 18:29
#14
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от GRIFEL Посмотреть сообщение
Скопируй код в файл с любым названием и с расширением .lsp . Загрузи его командой APPLOAD и командой TEST с клавиатуры запусти функцию . В данном варианте будут прорисованы окружности в необходимых точках ..... если в этих зонах что-то другое нужно разместить - привязкой к центру это сделать можно , или уточни задачу ... подправь код
в локализованных версиях следует вызывать английскую команду их ком. строки с подчёркиванием _APPLOAD

Последний раз редактировалось Хмурый, 09.09.2011 в 15:04. Причина: спасибо sasha_lif
Хмурый вне форума  
 
Непрочитано 08.09.2011, 23:25
#15
sasha_lif

Дизайнер-конструктор
 
Регистрация: 29.05.2004
Kiev
Сообщений: 1,179
<phrase 1=


Поправлю опечатку Хмурого
_APPLOAD
__________________
Kiev, Ukraine
sasha_lif вне форума  
 
Автор темы   Непрочитано 09.09.2011, 13:43
#16
koovp


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


спасиб АлексЮстасу за линк. appload срабатывал изначально, команда test нет. щас вроде заводится все, но проблема остается в юникоде, который у меня идет с приведенным макросом http://clip2net.com/s/1a3mI - из-за этого описание иероглифами. как это поправить? может кто-нить предоставит дубль
koovp вне форума  
 
Непрочитано 09.09.2011, 15:44
1 | #17
ie.spb

Инженер
 
Регистрация: 21.08.2007
Сообщений: 598
<phrase 1=


Как то вот так
Код:
[Выделить все]
 
(defun c:test(/ pn pk pt e ee an dl n r rc)
	 (setq e(car(entsel"\n Покажи линию для размещения : "));указали линию
	   ee(entget e)       ;получили список ее данных
	   pn(cdr(assoc 10 ee));начальная точка
	   pk(cdr(assoc 11 ee));конечная точка
	   an(angle pn pk)      ;угол наклона линии
	   dl(getreal"\n Размер отступа от начала линии : ");ввели значение
	   n(getint"\n Количество размещаемых элементов : ");ввели значение
	   pt(polar pn an dl);получили первую точку вставки
	   r(/(-(distance pn pk)(* dl 2)) (1- n));определили шаг
	   rc(/(getreal" \n Диаметр размещаемой окружности  : ")2); например запрос по элементу вставки  
	 )
	 
	 (repeat n ;повторяем n раз например построение окружности   
	 (entmakex (list(cons 0 "CIRCLE")(cons 10 pt)(cons 40 rc)))
	   (setq pt(polar pt an r));переопределяем точку
	 )(princ)
	)
__________________
Склероз нельзя вылечить, но о нем можно забыть.
(Ф. Раневская)
ie.spb вне форума  
 
Автор темы   Непрочитано 09.09.2011, 21:44
#18
koovp


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


спасибо Djonikbishkek. хоть посмотрел что за макрос. интересно. правда данных про отступы не было. только кол-во объектов и общее расстояние. а меньшие отступы по краям были как условие. но и этот метод наверно можно практиковать. GRIFEL спасибо за решение
koovp вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Распределение точек по длине линии



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание нового типа линий Apelsinov AutoCAD 915 08.07.2022 12:36
построение линии через имеющийся список точек Composter Программирование 18 13.02.2012 10:43
Распределение точек по полилинии с определенным расстоянием между ними ПО ПРЯМОЙ Prestan AutoCAD 10 14.10.2010 22:54
координаты точек линии uzun AutoCAD 3 17.04.2010 00:26
Начало линии на известном расстоянии от двух точек Moris AutoCAD 11 07.02.2009 00:38