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

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

Как поменять цвет линий в VBA

Ответ
Поиск в этой теме
Непрочитано 02.07.2014, 10:06 #1
Как поменять цвет линий в VBA
Linkor
 
что хочу, то и делаю
 
Регистрация: 30.06.2014
Сообщений: 119

Добрый день! Гуру форума, подстажите, пожалуйста, как поменять цвет линии на vba на значение по слою.
Пишу lineobj.TrueColor.ColorIndex = acByLayer - не работает. В чём ошибка?
Просмотров: 4839
 
Непрочитано 02.07.2014, 10:08
#2
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611


Код:
[Выделить все]
Sub Example_TrueColor()
    Dim line As AcadLine
    Dim startPoint(0 To 2) As Double
    Dim endPoint(0 To 2) As Double
    startPoint(0) = 1#: startPoint(1) = 1#: startPoint(2) = 0#
    endPoint(0) = 5#: endPoint(1) = 5#: endPoint(2) = 0#
    Set line = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
    line.TrueColor.ColorIndex = 256
    ZoomAll
End Sub

Последний раз редактировалось Boxa, 02.07.2014 в 10:22.
Boxa вне форума  
 
Автор темы   Непрочитано 02.07.2014, 10:23
#3
Linkor

что хочу, то и делаю
 
Регистрация: 30.06.2014
Сообщений: 119


не помогает
у меня такой код:
Sub NormalBlock()
Dim obj As AcadObject
Dim block As AcadBlock
Dim col As AcadAcCmColor

For Each block In ThisDrawing.Blocks

nameBlk = block.name
If Left(nameBlk, 1) <> "*" Then
For Each obj In block
obj.Layer = "0"
obj.Linetype = "BYLAYER"
'Set col = obj.TrueColor

obj.TrueColor.ColorIndex = 256
obj.Lineweight = acLnWtByLayer
Next obj
End If
Next block

End Sub
Linkor вне форума  
 
Непрочитано 02.07.2014, 10:35
#4
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,611


а автокад какой?
Если мне не изменяет память, то truecolor появился не так давно...

попробуйте так
Код:
[Выделить все]
Sub Example_TrueColor()
    Dim line As AcadLine
    Dim startPoint(0 To 2) As Double
    Dim endPoint(0 To 2) As Double
    startPoint(0) = 1#: startPoint(1) = 1#: startPoint(2) = 0#
    endPoint(0) = 5#: endPoint(1) = 5#: endPoint(2) = 0#
    Set line = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
    'line.TrueColor.ColorIndex = 256
    line.color = acByLayer
    ZoomAll
End Sub

Зы.
Думается мне что вы пытаетесь написать нормализатор блоков...
вот тут посмотрите готовый вариант http://forum.dwg.ru/showthread.php?t=66355
команда BGBLFIX - Нормализация блоков

Последний раз редактировалось Boxa, 02.07.2014 в 10:46.
Boxa вне форума  
 
Автор темы   Непрочитано 02.07.2014, 10:44
#5
Linkor

что хочу, то и делаю
 
Регистрация: 30.06.2014
Сообщений: 119


Acad2009, color работает, хотя в хелпе у объекта такого свойства нет.
Большое спасибо!
_______________
Пытаюсь, ага. Но я немного знаю vba, а лисп некогда изучать (может и стоило бы). А 10 строк написать10 минут (ну правда в этот раз труколор подкачал)

Последний раз редактировалось Linkor, 02.07.2014 в 10:51.
Linkor вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как поменять цвет линий в VBA



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Линии электрических соединений Shoorup Программирование 23 07.02.2015 15:13
Как удалить тип линии Tolyanovich AutoCAD 48 20.11.2014 09:24
Как поменять цвет в листе? Tanga83 AutoCAD 11 20.02.2013 13:57
Как поменять цвет атрибутов уже вставленных в чертёж блоков? МишаИнженер Программирование 5 09.10.2012 20:55