Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Natash
Зарегистрирован: 07.03.2007 Сообщения: 21
|
Добавлено: Пт Окт 15, 2010 11:36 am Заголовок сообщения: VBA. How to hide/display off elements on Z<=0 in referen |
|
|
Как отключить видимость елементов в референсе на высоте ноль?
active depth не подходит, т.к. работает с видом... а нужно только с референсом
есть вот такой вот код, работает только в v8, но отключает временно, метод redraw не работатет, потому чtо елементы в референсе
про высоту меньше либо равно 0 пока нет, дело не в етом даже
задача отключить елементы в референсе
Код: |
Sub TurnOffRefOnZero()
Dim oAtt As Attachment
Dim oEl As Element
Dim oPnt As Point3d
Dim oElPntList() As Point3d
Dim index As Long
Dim oEc As ElementCache
For Each oAtt In ActiveModelReference.Attachments
Set oEc = oAtt.GraphicalElementCache
Debug.Print "oEc.Count=" & oEc.Count
For index = 0 To oEc.Count - 1 Step 1
If oEc.IsElementValid(index + 1) = True Then
Set oEl = oEc.GetElement(index + 1)
If oEl.IsGraphical Then
oEl.Redraw msdDrawingModeErase
oEl.IsHidden = True
'oEl.Rewrite
End If
End If
Next
Next
End Sub
|
в v8i не работает
вообще, думается мне, что сам подход не верен
может найдутся идеи? |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Пт Окт 15, 2010 2:53 pm Заголовок сообщения: |
|
|
Первое что приходит в голову - это попробовать использовать DisplaySets. Хотя не уверен, что VBA с ними работает... |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Пт Окт 15, 2010 3:27 pm Заголовок сообщения: |
|
|
Посмотрел чуть подробнее...
С дисплейсетами в VBA действительно туго.
Я бы сделал так: написал макрос который добавляет элементы в NamedGroup. А включить/отключить дисплейсет по группе - это одно нажатие кнопки... |
|
Вернуться к началу |
|
|
|