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

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

Точки в текст

Ответ
Поиск в этой теме
Непрочитано 22.03.2010, 12:52 #1
Точки в текст
cnapta4ok
 
Регистрация: 22.03.2010
Сообщений: 2

Доброе время суток. У меня такая проблемка:
у меня около 200.000 точек в автокаде, которые имеют свои реальные координаты X,Y и высотное значение Z (одним словом значения глубин в морском порту). Как сделать, что бы вместо самих точек показывало только значения Z?

Извиняюсь, если это повтор. Просто в автокаде я новичок и еще толком ничего не умею.
Просмотров: 2134
 
Непрочитано 22.03.2010, 14:24
#2
Disney

Геодезист
 
Регистрация: 12.03.2009
Сибирь (где медведи по улицам ходят)
Сообщений: 860
Отправить сообщение для Disney с помощью Skype™


1) Создать блок с полем, которое будет отображать Z координату этого блока
2) Воспользовавшись программой LISP. Замена набора примитивов на выбранный примитив заменить все точки на блок
3) Обновить поля _updatefield или выполнить регенерацию _regenall
__________________
Почему все вдруг становятся умными, когда уже не надо?
Disney вне форума  
 
Непрочитано 22.03.2010, 14:26
#3
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


Ну, уже многое выкладывалось на эту тему... Если "на коленке", то вот:
Код:
[Выделить все]
Option Explicit
Public Const tpv = "" ' "Выбрать объекты"
Public Const heighttxt = 100
Sub main()
Dim pnt As Object
Dim acSelSet As AcadSelectionSet
Dim textObj As AcadText
Dim textString As String
Dim insertionPoint
Dim height As Double
height = heighttxt
Set acSelSet = SelectOnlyOnScreen(tpv)
If acSelSet.Count = 0 Then Exit Sub
For Each pnt In acSelSet
 insertionPoint = pnt.Coordinates
 textString = insertionPoint(2)
 Set textObj = ThisDrawing.ModelSpace.AddText(textString, insertionPoint, height)
Next
End Sub
Private Function SelectOnlyOnScreen(str) As AcadSelectionSet
Dim objSelSet As AcadSelectionSet
Dim objSelCol As AcadSelectionSets
Dim intType(0) As Integer
Dim varData(0) As Variant
Set objSelCol = ThisDrawing.SelectionSets
For Each objSelSet In objSelCol
 If objSelSet.Name = "Blck" Then
  objSelSet.Delete
  Exit For
 End If
Next
Set objSelSet = ThisDrawing.SelectionSets.Add("Blck")
intType(0) = 0
varData(0) = "Point"
If str = "Выбрать объекты" Then
  objSelSet.SelectOnScreen intType, varData
Else
  objSelSet.Select acSelectionSetAll, , , intType, varData
End If
Set SelectOnlyOnScreen = objSelSet
End Function
Макрос VBA ищет все точки и вставляет текст с z координатой точки. Константа heighttxt определяет высоту текста (можно подставить другое допустимое значение.). Если вместо Public Const tpv = "" вставить Public Const tpv = "Выбрать объекты", то обрабатываться будут точки по выбору рамкой..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 22.03.2010, 14:31
#4
cnapta4ok


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


большое вам спасибо

Последний раз редактировалось cnapta4ok, 22.03.2010 в 14:39.
cnapta4ok вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Точки в текст



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текст вдоль полилинии или сплайна (по кривой) Denioska AutoCAD 48 10.09.2022 21:55
Ищу пример расчета инсоляции FINE Поиск литературы, чертежей, моделей и прочих материалов 266 25.10.2017 18:54
LISP. Выравнивание текста по двум точкам. Krieger Готовые программы 10 24.12.2011 16:02
Как извлечь из размера значение, т.е. текст??? Rubль Программирование 10 24.08.2009 17:24
Перестаёт редактироваться текст. Behemoth AutoCAD 2 10.06.2009 08:04