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

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

Высотные отметки

Ответ
Поиск в этой теме
Непрочитано 15.08.2008, 14:03 #1
Высотные отметки
OHUKC
 
Регистрация: 29.07.2008
Сообщений: 55

Помогите пожалуйста довести до ума прогу ...нашёл на одном из форумов
http://www.caduser.ru/cgi-bin/f1/board.cgi?t=42685NX
Хотелось бы чтоб масштабировалось нормально...
и возможность прорисовки стрелки и простановки втекста высотной отметки в другую сторону
файл чертежа для примера прилагается...

код проги

Вложения
Тип файла: dwg
DWG 2004
пример.dwg (404.8 Кб, 2310 просмотров)


Последний раз редактировалось OHUKC, 15.08.2008 в 14:16.
Просмотров: 9052
 
Непрочитано 15.08.2008, 14:13
#2
Кулик Алексей aka kpblc
Moderator

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


Я файл не качал, поэтому совет может оказаться "впустую": на форуме рассматривались дин.блоки отметок...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 15.08.2008, 14:21
#3
OHUKC


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


тут смысл работы проги в том , что кликаешь на нулевую отметку (линию), а затем на точки , которым нужно проставить высотные отметки....тока я чё-то не пойму с масштабом, отметки ставятся маленькие, так что приходится увеличивать...и всегда в одну сторону
OHUKC вне форума  
 
Непрочитано 15.08.2008, 14:30
#4
Кулик Алексей aka kpblc
Moderator

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


Решается полем вкупе со смещением base (созданием ПСК)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 15.08.2008, 14:32
#5
OHUKC


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


если б я до такой степени в Lisp шарил
OHUKC вне форума  
 
Автор темы   Непрочитано 15.08.2008, 14:35
#6
OHUKC


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


(defun C:level (/ hgt po pt pts tpt txt x *error* adoc msht dmz)
(defun *error* (msg)(princ msg)(vla-endundomark adoc)(setvar "DIMZIN" dmz))
(vl-load-com)(setvar "PLINEWID" 0)
(vla-startundomark (setq adoc (vla-get-activedocument (vlax-get-acad-object))))
(setq dmz (getvar "DIMZIN"))(setvar "DIMZIN" 0)
(if (null *OLMSHT*)(setq *OLMSHT* 1))
(and (or (initget 6 "1 10 20 50 100 1000") t)
(princ "\nscale [1/10/20/50/100/500/1000] <")
(princ *OLMSHT*)(princ ">: ")
(or (setq msht (getdist))(setq msht *OLMSHT*))
(setq *OLMSHT* msht)(or (vl-propagate '*OLMSHT*) t)
(setq msht (/ msht 100.0))
(setq po (getpoint "\nSpecify o.oo point: "))
(setq hgt (getvar "TEXTSIZE"))
(while (setq pt (getpoint "\nSpecify next point (Enter for esc):"))
(setq txt (rtos (setq pts (* msht (- (cadr pt)(cadr po)))) 2 2))
(if (and (not (minusp pts))(not (zerop pts)))
(setq txt (strcat "+" txt)))
(if (not (vl-string-search "." txt))(setq txt (strcat txt ".00")))
(setq pts (list pt
(mapcar '+ pt (list 0 (* hgt 0.6) 0)) ;_hgt of arrow
(mapcar '+ pt (list 0 (* hgt 1.75) 0));_Vert line
(mapcar '+ pt (list (* hgt 3.5) (* hgt 1.75) 0)));_Horizont line
tpt (mapcar '+ pt (list 0 (* hgt 2.0) 0)))
(entmake (list
'(0 . "LINE")
'(100 . "AcDbEntity")
(cons 410 (getvar "CTAB"))
(cons 8 (getvar "CLAYER"))
'(100 . "AcDbLine")
(cons 62 256)
(cons 10 (trans (polar pt PI (* hgt 0.9)) 1 0))
(cons 11 (trans (polar pt 0 (* hgt 0.9)) 1 0))
))
(entmake (append (list
'(0 . "LWPOLYLINE")
'(100 . "AcDbEntity")
(cons 410 (getvar "CTAB"))
(cons 8 (getvar "CLAYER"))
'(100 . "AcDbPolyline")
(cons 62 256)
(cons 90 (length pts))
(cons 70 0)
(cons 43 0.0))
(mapcar '(lambda (x) (cons 10 x))(mapcar '(lambda(x)(trans x 1 0)) pts)))
)
(vla-setwidth (vlax-ename->vla-object (entlast)) 0 0.0 (* hgt 2))
(entmake (list '(0 . "TEXT")
(cons 10 (trans tpt 1 0))
(cons 410 (getvar "CTAB"))
(cons 8 (getvar "CLAYER"))
(cons 7 (getvar "TEXTSTYLE"))
(cons 62 256)
(cons 40 hgt)
(cons 50 0.0)
(cons 1 txt)
)
)
)
)
(setvar "DIMZIN" dmz)(vla-endundomark adoc)
(princ)
)
(princ "\n >>> Insert levels Command: level")
(princ)
OHUKC вне форума  
 
Непрочитано 15.08.2008, 15:39
#7
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Цитата:
Хотелось бы чтоб масштабировалось нормально...
А в чем заключается "нормальность"
Обрати внимание на строчку в лиспе, который ты выложил:
Код:
[Выделить все]
.............................................................................
(setq *OLMSHT* msht)(or (vl-propagate '*OLMSHT*) t)
(setq msht (/ msht 100.0))
(setq po (getpoint "\nSpecify o.oo point: "))
.............................................................................
CB вне форума  
 
Автор темы   Непрочитано 15.08.2008, 15:47
#8
OHUKC


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


а что эта строчка делает???
OHUKC вне форума  
 
Автор темы   Непрочитано 15.08.2008, 15:55
#9
OHUKC


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


а не подскажешь как в код забить масштабирование высотной отметки???
т.е. чтоб она выводилась не маленькая а например раз в 100 по размеру больше????
OHUKC вне форума  
 
Непрочитано 15.08.2008, 16:06
#10
Кутузов

сикритарь
 
Регистрация: 28.06.2008
Санкт-Петербург
Сообщений: 1,141
Отправить сообщение для Кутузов с помощью Skype™


Зачем изобретать колесо, когда уже изобрели феррари? Надстройка к акад называется СПДС GraрhiCS. Отметки, выноски, размеры, разрезы и все такое под любой масштаб в соответствии с ГОСТ по СПДС... или я не понимаю чего-то. Может это хобби такое c лиспом заморачиваться? Времени свободного вагон?
Кутузов вне форума  
 
Автор темы   Непрочитано 15.08.2008, 16:15
#11
OHUKC


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


он поверх автокада ставится ...как приложение????
OHUKC вне форума  
 
Непрочитано 15.08.2008, 16:19
#12
Кутузов

сикритарь
 
Регистрация: 28.06.2008
Санкт-Петербург
Сообщений: 1,141
Отправить сообщение для Кутузов с помощью Skype™


Сначала автокад, потом СПДС-ка сверху. Только заходить через ярлык СПДС.
А я думал уже все этой штукой пользуются...
Кутузов вне форума  
 
Непрочитано 15.08.2008, 16:20
#13
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Цитата:
а что эта строчка делает???
Эта строчка как раз и уменьшает значения высотных отметок в 100 раз.
CB вне форума  
 
Автор темы   Непрочитано 15.08.2008, 16:26
#14
OHUKC


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


я наверно не так сформулировал
нужно чтоб не ЗНАЧЕНИЕ менялось...
а само ИЗОБРАЖЕНИЕ высотной отметки на чертеже было больше...
тут по ходу прямо в коде рисуется высотная отметка....
нельзя ли её больше по размеру сделать?????
OHUKC вне форума  
 
Непрочитано 15.08.2008, 16:37
#15
Кутузов

сикритарь
 
Регистрация: 28.06.2008
Санкт-Петербург
Сообщений: 1,141
Отправить сообщение для Кутузов с помощью Skype™


Можно. В правом нижнем углу есть окошко масштаба. Или не окошко, а маленькая кнопочка. На нее кликни, выбери масштаб. После этого ставь отметку. Ее размер будет соответствовать выбранному масштабу. Имеется в виду масштаб чертежа, в котором будешь печатать.
Кутузов вне форума  
 
Автор темы   Непрочитано 15.08.2008, 16:43
#16
OHUKC


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


хотелось бы чтоб в проге это было
OHUKC вне форума  
 
Непрочитано 15.08.2008, 17:02
#17
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Я не зря я спросил в <<чем заключается "нормальность>>...
Ну а по делу - дело в следующем
За размеры изображения отвечает значение системной переменной "textsize".
Какую высоту текста ты хочешь иметь, такое и назначь ей значение:
например (setvar 'textsize 40)
CB вне форума  
 
Автор темы   Непрочитано 15.08.2008, 17:10
#18
OHUKC


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


то что надо....СПАСИБО...
а как програмно поменять , чтоб зеркально отображалось????...
и какойнить запрос типа "отобразить зеркально? (Y/N)"
OHUKC вне форума  
 
Автор темы   Непрочитано 15.08.2008, 17:26
#19
OHUKC


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


чтоб отметки можно было ставить и справа и слева фасада
OHUKC вне форума  
 
Непрочитано 15.08.2008, 18:10
#20
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Вообще-то сделать наверно не сложно, НО если тебе надо поставить, к примеру 100 отметок, все 100 раз будет мелькать <<какойнить запрос типа "отобразить зеркально? (Y/N)">> ??? или я опять не понял чего-то?

Ну и что такое <зеркально> - отразить можно относительно оси X или Y. Короче давай картинку что должно получитья при выборе "отразить зеркально"

Последний раз редактировалось CB, 15.08.2008 в 21:06.
CB вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Высотные отметки

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Срезка голов свай до проектной отметки tsman Технология и организация строительства 29 28.06.2017 12:51
Блок отметки высоты на разрезе Grinzaid Динамические блоки 13 19.04.2008 12:58
Уровень планировочной отметки Bracus Архитектура 18 29.02.2008 13:44
Civil 3D 2008. Как повернуть проектные отметки на плане ? Valery Brelovsky Прочее. Отраслевые разделы 8 23.01.2008 12:05
Отметки высот Халтурщик AutoCAD 5 29.01.2007 15:58