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

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

Как добавить интерполированные отметки по оси дороги?

Ответ
Поиск в этой теме
Непрочитано 22.10.2012, 21:38
Как добавить интерполированные отметки по оси дороги?
reddiska
 
Регистрация: 18.08.2012
Сообщений: 52

Есть 60 км топосъемки дороги, геодезисты брали отметки через каждые 40 метров, а по техзаданию должны стоять через 20 метров. Досъемку делать нереально, вручную ставить нереально, нужно как-нибудь автоматически это сделать. Кто подскажет, как?
Просмотров: 8697
 
Непрочитано 26.10.2012, 11:57
1 | #21
Олег (jr.)

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


Цитата:
Сообщение от reddiska Посмотреть сообщение
hwd, видимо, склонен к холиварам
Лучше бы проверила мою прогу
Олег (jr.) вне форума  
 
Автор темы   Непрочитано 26.10.2012, 11:58
#22
reddiska


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


Цитата:
Сообщение от Олег (jr.) Посмотреть сообщение
Лучше бы проверила мою прогу
Да я проверила) Она пишет - объект не найден
reddiska вне форума  
 
Непрочитано 26.10.2012, 14:33
#23
Олег (jr.)

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


Цитата:
Сообщение от reddiska Посмотреть сообщение
Да я проверила) Она пишет - объект не найден
Для начала попробуй не на осевой линии, на правой или на левой,
потом будем думать дальше,
(для сведения в Автокаде на штриховых линиях
точки пересечения невозможно найти, если они попадают в слепую область)
Олег (jr.) вне форума  
 
Автор темы   Непрочитано 26.10.2012, 15:02
#24
reddiska


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


Щелка на полилинию, и ничего, объект не найден! Хотя на полилинии блоки с привязкой стоят.
reddiska вне форума  
 
Непрочитано 26.10.2012, 15:23
#25
5hev

roads
 
Регистрация: 22.12.2010
msk
Сообщений: 121
<phrase 1= Отправить сообщение для 5hev с помощью Skype™


Олег (jr.), замените
Код:
[Выделить все]
 (vlax-put blkobj 'insertionpoint (vlax-3d-point movep))
на
Код:
[Выделить все]
 (vla-put-insertionpoint blkobj (vlax-3d-point movep))
и все пучком будет
5hev вне форума  
 
Непрочитано 26.10.2012, 15:27
#26
Дима_

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


Цитата:
Сообщение от hwd Посмотреть сообщение
...которому пришлось брать своих геодезистов и ехать доказывать...
Скоро, через 3-ти руки к тебе отметки от reddiska&Олег (jr.) придут - глядишь еще раз съездишь...
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 26.10.2012, 15:39
1 | #27
Олег (jr.)

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



Замени сам у меня и так работает
Олег (jr.) вне форума  
 
Автор темы   Непрочитано 26.10.2012, 16:01
#28
reddiska


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


Цитата:
Сообщение от 5hev Посмотреть сообщение
Олег (jr.), замените
Код:
[Выделить все]
 (vlax-put blkobj 'insertionpoint (vlax-3d-point movep))
на
Код:
[Выделить все]
 (vla-put-insertionpoint blkobj (vlax-3d-point movep))
и все пучком будет
А я вообще таких слов не нашла(((
reddiska вне форума  
 
Непрочитано 26.10.2012, 16:22
#29
5hev

roads
 
Регистрация: 22.12.2010
msk
Сообщений: 121
<phrase 1= Отправить сообщение для 5hev с помощью Skype™


У меня, к сожалению, не работало именно из-за этого. Добавил выбор нескольких полилиний, должно фурычить.
Код:
[Выделить все]
 (defun C:mpik  (/	acsp	adoc	blkobj	bp	bz	coords	data	dxfcodes
		dxfvalues	elist	fblk	fdata	ftype	insp	movep	np
		nz	p	pfset	plen	plent	ptlist	sblk	tmp)
					; fixo () 2012
  (setq	adoc (vla-get-activedocument
	       (vlax-get-acad-object))
	acsp (vla-get-block
	       (vla-get-activelayout adoc)))
  (vla-startundomark adoc)
  (setq plsset (ssget '((0 . "*LINE"))))
  (while (setq plent (ssname plsset 0))
    (setq elist (entget plent))
    (vl-cmdf "_.zoom" "_o" plent "")
    (setq coords (vl-remove-if
		   'not
		   (mapcar '(lambda (p)
			      (if (eq 10 (car p))
				(cdr p)))
			   elist))
	  coords (mapcar '(lambda (p) (vlax-curve-getclosestpointto plent p))
			 coords)
	  ptlist (apply 'append coords))


    (setq pfset (vla-get-pickfirstselectionset adoc))
    (vla-clear pfset)

    (setq ftype	'(0 2 66 410)
	  fdata	(list "insert" "M5_0_500" 0 (getvar "ctab"))
	  )
    (setq dxfcodes (vlax-safearray-fill
		     (vlax-make-safearray
		       vlax-vbinteger
		       (cons 0 (1- (length ftype))))
		     ftype))
    (setq dxfvalues (vlax-safearray-fill
		      (vlax-make-safearray
			vlax-vbvariant
			(cons 0 (1- (length fdata))))
		      fdata))
    (setq ptlist (vlax-safearray-fill
		   (vlax-make-safearray
		     vlax-vbdouble
		     (cons 0 (1- (length ptlist))))
		   ptlist))
    (vla-selectbypolygon pfset acSelectionSetfence ptlist dxfcodes dxfvalues)



    (if	(> (vla-get-count pfset) 0)
      (progn
					;(alert (itoa (vla-get-count pfset)))
	(vl-cmdf "_.zoom" "_p")
	(vlax-for block	 pfset
	  (setq	bp   (vlax-get block 'insertionpoint)
		bz   (caddr bp)
		insp (vlax-curve-getclosestpointto plent bp))
	  (setq	tmp  (list block bz insp)
		data (cons tmp data)
		tmp  nil))

	(while (cadr data)
	  (setq	fblk (car data)
		sblk (cadr data))

	  (setq nz (/ (+ (cadr fblk) (cadr sblk)) 2))
	  (setq	np (vlax-curve-getclosestpointto
		     plent
		     (mapcar '(lambda (a b) (/ (+ a b) 2.))
			     (last fblk)
			     (last sblk))))
	  (setq blkobj (vlax-invoke acsp 'insertblock np "M5_0_500" 1 1 1 0))
	  (setq movep (list (car np) (cadr np) nz))
	  (vla-put-insertionpoint blkobj (vlax-3d-point movep))
	  (setq blkobj (vlax-invoke acsp 'insertblock np "M5_504" 1 1 1 0))
	  (vla-put-insertionpoint blkobj (vlax-3d-point movep))
	  (setq data (cdr data)))
	)
      (alert "Ничего не найдено")
      )
    (ssdel plent plsset))
  (vla-endundomark adoc)
  (princ)
  )
(princ "\n\t\t---\t Start with \"mpik\"... \t---")
(prin1)
(or (vl-load-com)
    (princ))

5hev вне форума  
 
Автор темы   Непрочитано 26.10.2012, 16:35
#30
reddiska


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


Почему у меня не пашет? Полилиния, на ней с привязкой сидят блоки, но он их не находит.
reddiska вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как добавить интерполированные отметки по оси дороги?

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Моменты сопротивления составных сечений. Mayday Конструкции зданий и сооружений 21 30.05.2023 17:54
Момент инерции и момент сопротивления составного сечения Shnur_ds Прочее. Архитектура и строительство 127 13.02.2014 18:48
Устройство стеновых сэндвич-панелей без прогонов dimoxa Конструкции зданий и сооружений 81 08.08.2011 12:07
Civil 3D 2008. Как повернуть проектные отметки на плане ? Valery Brelovsky Прочее. Отраслевые разделы 8 23.01.2008 12:05
Двутавр №25 К1 Маняша Прочее. Архитектура и строительство 10 26.07.2007 13:18