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

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

Программа по расчету длины траектории

Ответ
Поиск в этой теме
Непрочитано 10.09.2008, 13:30 #1
Программа по расчету длины траектории
Volodich
 
проектировщик-электрик
 
Челябинск
Регистрация: 20.12.2007
Сообщений: 474

Здравствуйте!
В свое время на форуме caduser была выложена программа по расчету дистанций (FDIST).
Вот две ссылки на тот форум.
http://www.caduser.ru/cgi-bin/f1/board.cgi?t=26788aY
http://www.caduser.ru/cgi-bin/f1/board.cgi?t=43132gD

Я просил чуть чуть переделать программу. Цитирую:
"хотелось бы каким-то образом или быстро записывать результаты или как-то сделать чтобы можно было замерять несколько трасс. Т.е. Сейчас программа показывает длину непрерывной трассы, а хотелось бы возможность сделать разрыв. (то есть просто не учесть в программе расстояние между двумя точками разрыва).
То есть нужно в окошко программы добавить еще одну кнопочку — "Продолжить". Сейчас программа останавливает расчет длины по нажатию клавиши Enter или Esc. А при повторном нажатии кнопок "по точкам" или "по элементам" — обнуляет результат. А нужна кнопка "продолжить", чтобы результат не обнулялся а суммировался с предыдущим значением! Это ведь точно не сложно! (но я в автолиспе ничего не понимаю)"

К сожалению, мне так и не ответили.
Может быть тут кто-нибудь сможет это сделать?
Весь наш коллектив будет очень благодарен!

Прикладываю ссылки на программу:
http://ustation.ru/apps/fdist.zip - для 2005-2006
http://ustation.ru/apps/fdist-1.0-src.zip - исходник этой программы
http://ifolder.ru/3297782 - для 2007-2008

На всякий случай прикреплю программу и исходник.

Конечно, в идеале переделать нужно обе версии, но хотя бы что-то, не буду наглеть

Вложения
Тип файла: zip fdist.zip (17.2 Кб, 199 просмотров)
Тип файла: zip FDist2007.zip (12.0 Кб, 180 просмотров)
Тип файла: zip fdist-1.0-src - исходник.zip (40.9 Кб, 168 просмотров)

Просмотров: 7684
 
Непрочитано 10.09.2008, 14:19
#2
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 307


>> Volodich
Может тут нужное найдешь:
LISP для подсчета суммы длин линий
Нужен LISP для суммы длин отрезков линни
Олег К. вне форума  
 
Непрочитано 10.09.2008, 18:19 Для 2007
#3
Красин


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


Теперь результат вычислений сохраняется и может быть обнулен третьей кнопкой. Чтобы сделать "разрыв" при измерении длины трассы, нужно прервать измерение по точкам (лучше всего нажатием клавиши Escape)


Конечно, использование С++ для такой ерунды - это стрельба из пушки по воробьям и напрасная трата времени, да к тому же требует квалификации. Тут лучше Lisp (поддержка все версий автокада)
Вложения
Тип файла: zip arx+src.zip (60.1 Кб, 192 просмотров)
Красин вне форума  
 
Автор темы   Непрочитано 11.09.2008, 06:49
#4
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 474


Олег К., эти темы не совсем то. Там сумму длин линий считают, а мне надо просто по точкам. Я считаю, что так быстрее и удобнее, чем каждую линию выделять. Хотя кому как.
Красин, Спасибо. К сожалению, у меня на работе акад 2006, пока вашу программу проверить не могу. Попробую дома. А насчет из пушки по воробьям... Ну что уж делать, лисп такой почему-то никто не написал. А программа мне нравится, удобная.
Volodich вне форума  
 
Непрочитано 11.09.2008, 11:00
#5
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Volodich, Если чертеж организован правильно, то Selsim + GeomProps = Классная вещь
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 12.09.2008, 06:25
#6
Volodich

проектировщик-электрик
 
Регистрация: 20.12.2007
Челябинск
Сообщений: 474


VVA, Эх... Есть у меня и SelSlim (всем рекомендую, кстати, очень удобная вещь!) и GeomProps.
Но с помощью этих утилит не все можно сделать.
Например, я черчу сети электроснабжения какого-то завода. (этим я и занимаюсь ). У меня вся сеть выполнена одним слоем. И с помощью указанных выше утилит я могу, например, общую длину кабеля по заводу посчитать. Но мне этого не надо! Мне надо посчитать длину трассы между двумя зданиями. Конечно, можно выделять кусочки трассы вручную, потом смотреть в свойствах общую длину. Но это неудобно. Гораздо проще "прощелкать" угловые точки и все. Но это мое мнение.
Еще раз спасибо Красину за переделку программы! Все работает как надо! Всем рекомендую!
Volodich вне форума  
 
Непрочитано 05.02.2013, 13:08
#7
darsunny


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


Цитата:
Сообщение от Красин Посмотреть сообщение
Теперь результат вычислений сохраняется и может быть обнулен третьей кнопкой. Чтобы сделать "разрыв" при измерении длины трассы, нужно прервать измерение по точкам (лучше всего нажатием клавиши Escape)


Конечно, использование С++ для такой ерунды - это стрельба из пушки по воробьям и напрасная трата времени, да к тому же требует квалификации. Тут лучше Lisp (поддержка все версий автокада)
Здравствуйте.
Программа работала суперски, но только в 2008 автокаде, очень бы хотелось и дальше ее использовать, тк она очень ускоряет рабочий процесс. Может, г-н Красин или кто-нибудь другой смог бы адаптировать ее под Автокад 2010-2012. Заранее спасибо.
darsunny вне форума  
 
Непрочитано 08.02.2013, 20:10
#8
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Посмотри эти темы, может чего подберешь
LISP. Трассировка линий связи на плане
Трассировка линий связи на плане (корректировка)
Автоматическая трассировка по существующему скелету для Autocad (оптимизируем код общими усилиями)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 10.02.2013, 01:37
#9
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 813


darsunny,
попробуй такой вариант
Код:
[Выделить все]
(defun c:legs(/ cnt eh legs obj p1 p2 par1 par2 pp sset)

(setq sset nil
      legs 0.
      cnt 0)
(while
  (setq sset (ssget "_+.:S:E" '((0 . "*LINE"))))
   (progn
     (setq eh (ssname sset 0))
     (setq obj (vlax-ename->vla-object eh))
     (if (and (vlax-property-available-p obj 'closed)
       (eq :vlax-true  (vla-get-closed obj)))
       (progn
	 (alert "Не применяется для замкнутых кривых, выход.")
	 (exit)(princ)))
     (setq pp (last (last (last (ssnamex sset)))))
     (setq p1 (getpoint pp "Начало измерения объекта:")
	   p2 (getpoint pp "Конец  измерения объекта:"))

     (setq p1 (vlax-curve-getclosestpointto obj p1)
	   p2 (vlax-curve-getclosestpointto obj p2))

(if (and (not (vl-catch-all-error-p
		(setq par1
		       (vl-catch-all-apply
			 '(lambda () (vlax-curve-getparamatpoint obj p1))))))
	 (not (vl-catch-all-error-p
		(setq par2
		       (vl-catch-all-apply
			 '(lambda () (vlax-curve-getparamatpoint obj p2)))))))
  (progn
    (setq legs (+ legs
		  (abs (- (vlax-curve-getdistatpoint obj p1)
			  (vlax-curve-getdistatpoint obj p2))
		       )
		  )
	  )
    (setq cnt (1+ cnt))
    )
  )
 )
)

(if (not (zerop legs))
  (alert (strcat "Количество промеров: " (itoa cnt) "\nОбщая длина : " (rtos  legs  2 3))))

(princ)
  )
(princ "\nСтартуй командой LEGS ...")
(prin1)
(or (vl-load-com)(princ))
Олег (jr.) вне форума  
 
Непрочитано 12.02.2013, 22:25
#10
darsunny


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


VVA и Олег (jr.), спасибо большое!
darsunny вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Программа по расчету длины траектории

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
энергетический паспорт - программа по расчету k-s-v Архитектура 3 07.09.2011 15:54
Программа Фундамент v.12 (шпунт) SKYFOX Расчетные программы 16 01.04.2009 23:49
Универсальная программа для проектирования Анатолий Анатольевич Другие CAD системы 5 14.03.2008 09:34
Фундамент с динамическими нагрузками в Scad Tlelaxu SCAD 9 31.08.2007 10:44