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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > изменение параметров размеров с помощью лиспа

изменение параметров размеров с помощью лиспа

Ответ
Поиск в этой теме
Непрочитано 26.07.2011, 06:27 #1
изменение параметров размеров с помощью лиспа
МИХАИЛCAD
 
Регистрация: 19.11.2009
Сообщений: 21

Здравствуйте!
Помогите решить проблему с размерами.
Вот есть несколько размеров и нужно изменить ext line fixed и ext line fixed length
можно ли сделать это программно?
и если можно то как?
и другая задача подобная
есть размер как программно изменить длину ext line ext
может быть есть программа-заготовка которую легко
изменив можно добиться изменения любых параметров размеров
заранее благодарен за помощь
Просмотров: 4813
 
Непрочитано 26.07.2011, 08:18
#2
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


IAcadDimRotated: Интерфейс AutoCAD для работы с повернутыми размерами.
; Значения свойств:
; AltRoundDistance = 0.0
; AltSuppressLeadingZeros = 0
; AltSuppressTrailingZeros = 0
; AltSuppressZeroFeet = -1
; AltSuppressZeroInches = -1
; AltTextPrefix = ""
; AltTextSuffix = ""
; AltTolerancePrecision = 2
; AltToleranceSuppressLeadingZeros = 0
; AltToleranceSuppressTrailingZeros = 0
; AltToleranceSuppressZeroFeet = -1
; AltToleranceSuppressZeroInches = -1
; AltUnits = 0
; AltUnitsFormat = 2
; AltUnitsPrecision = 2
; AltUnitsScale = 25.4
; Application (RO) = #<VLA-OBJECT IAcadApplication 00d73d3c>
; Arrowhead1Block = "STR_RASM"
; Arrowhead1Type = 20
; Arrowhead2Block = "STR_RASM"
; Arrowhead2Type = 20
; ArrowheadSize = 5.0
; DecimalSeparator = ","
; DimensionLineColor = 256
; DimensionLineExtend = 0.0
; DimensionLinetype = "Поблоку"
; DimensionLineWeight = -2
; DimLine1Suppress = 0
; DimLine2Suppress = 0
; DimLineInside = 0
; Document (RO) = #<VLA-OBJECT IAcadDocument 0145b618>
; ExtensionLineColor = 256
; ExtensionLineExtend = 1.5
; ExtensionLineOffset = 0.0
; ExtensionLineWeight = -2
; ExtLine1Linetype = "Поблоку"
; ExtLine1Suppress = 0
; ExtLine2Linetype = "Поблоку"
; ExtLine2Suppress = 0
; ExtLineFixedLen = 1.0
; ExtLineFixedLenSuppress = 0
; Fit = 3
; ForceLineInside = -1
; FractionFormat = 0
; Handle (RO) = "4574"
; HasExtensionDictionary (RO) = 0
; HorizontalTextPosition = 0
; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 066cfa9c>
; Layer = "RAZM"
; LinearScaleFactor = 1.0
; Linetype = "BYLAYER"
; LinetypeScale = 1.0
; Lineweight = -1
; Material = "ByLayer"
; Measurement (RO) = 160.361
; Normal = (0.0 0.0 1.0)
; ObjectID (RO) = 2130399520
; ObjectName (RO) = "AcDbRotatedDimension"
; OwnerID (RO) = 2130390208
; PlotStyleName = "ByLayer"
; PrimaryUnitsPrecision = 2
; Rotation = 0.0
; RoundDistance = 0.0
; ScaleFactor = 1.0
; StyleName = "STANDARD$0"
; SuppressLeadingZeros = 0
; SuppressTrailingZeros = -1
; SuppressZeroFeet = -1
; SuppressZeroInches = -1
; TextColor = 4
; TextFill = 0
; TextFillColor = 0
; TextGap = 1.5
; TextHeight = 3.5
; TextInside = 0
; TextInsideAlign = 0
; TextMovement = 0
; TextOutsideAlign = 0
; TextOverride = ""
; TextPosition = (224.165 186.167 0.0)
; TextPrefix = ""
; TextRotation = 0.0
; TextStyle = "STANDARD"
; TextSuffix = ""
; ToleranceDisplay = 0
; ToleranceHeightScale = 1.0
; ToleranceJustification = 1
; ToleranceLowerLimit = 0.0
; TolerancePrecision = 2
; ToleranceSuppressLeadingZeros = 0
; ToleranceSuppressTrailingZeros = 0
; ToleranceSuppressZeroFeet = -1
; ToleranceSuppressZeroInches = -1
; ToleranceUpperLimit = 0.0
; TrueColor = #<VLA-OBJECT IAcadAcCmColor 066eb278>
; UnitsFormat = 2
; VerticalTextPosition = 1
; Visible = -1


Все эти свойства объекта "Размер" легко можно программно изменить.

Кусочек кода - меняет цвет текста на желтый (цифра 2):

Код:
[Выделить все]
(vl-load-com)
(vlax-put (vlax-ename->vla-object (car (entsel "\nВвыберите размер:")))"TextColor" 2)
Вместо "TextColor" напиши нужное свойство из списка, вместо цифры 2 нужное значение этого свойства.

Последний раз редактировалось E-degtyarev, 26.07.2011 в 10:28.
E-degtyarev вне форума  
 
Непрочитано 26.07.2011, 13:08
#3
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Посмотри здесь (Вертикальная выноска линейного размера). Может что-нибудь подойдет
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 27.07.2011, 06:32
#4
МИХАИЛCAD


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


Просто огромное СПАСИБО! за помощь!!!
вот как я применил:
Код:
[Выделить все]
 (defun C:DIMLINEXT ()
(vl-load-com)
(vlax-put (vlax-ename->vla-object (car (entsel "\nВвыберите размер:"))) "ExtLineFixedLenSuppress" 1)
(vlax-put (vlax-ename->vla-object (car (entsel "\nВвыберите размер:"))) "ExtLineFixedLen" 3.0)
)
для чего?
часто получается после простановки размеров нужно сделать так чтобы
размеры остались а dim line почти исчезли, приходилось их помечать и в
свойствах менять ext line fixed и ext line fixed length.
теперь стало намного проще.
Ещё раз спасибо!

Последний раз редактировалось Кулик Алексей aka kpblc, 27.07.2011 в 08:37. Причина: ошибка
МИХАИЛCAD вне форума  
 
Автор темы   Непрочитано 15.08.2011, 02:08
#5
МИХАИЛCAD


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


ЭТИМ ПОЛЬЗУЮСЬ ТЕПЕРЬ
Код:
[Выделить все]
 (defun C:D:DIMLINEXT ()
(vl-load-com)
(SETQ POM(entsel "\nSelect dimension:"))
(vlax-put (vlax-ename->vla-object (car POM)) "ExtLineFixedLenSuppress" 1)
(vlax-put (vlax-ename->vla-object (car POM)) "ExtLineFixedLen" 3.0)
)

Последний раз редактировалось Кулик Алексей aka kpblc, 15.08.2011 в 09:05. Причина: ОШИБКА
МИХАИЛCAD вне форума  
 
Непрочитано 15.08.2011, 06:09
#6
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


Цитата:
Сообщение от МИХАИЛCAD Посмотреть сообщение
ЭТИМ ПОЛЬЗУЮСЬ ТЕПЕРЬ
Молодец, делаешь успехи. Можно доработать еще немного: выбрать сразу несколько размеров, поместив их имена в список, а затем, пройдясь по списку всем сразу придать нужные свойства.
E-degtyarev вне форума  
 
Непрочитано 15.08.2011, 09:06
#7
Кулик Алексей aka kpblc
Moderator

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


МИХАИЛCAD, а кричать-то зачем?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 19.08.2011, 03:16
#8
МИХАИЛCAD


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


Кричать?
Да тут нужно сабантуй устраивать!
Спасибо ещё раз!
Всем желаю успеха!
МИХАИЛCAD вне форума  
 
Непрочитано 23.09.2022, 14:38
#9
skkkk


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


Коллеги, подскажите, пожалуйста, в чём затык?
Пытаюсь программно поменять размеру стрелку:
Цитата:
Команда: (vla-get-Arrowhead2Block (vlax-ename->vla-object (car (entsel))))
Выберите объект: "ClosedBlank"
Команда: (vla-put-Arrowhead2Block (vlax-ename->vla-object (car (entsel)))
"DotSmall")
Выберите объект: ; ошибка: Ошибка Automation. Ключ не найден
----- добавлено через ~1 мин. -----
Другому размеру вручную назначен данный блок на стрелку, то есть, в чертеж он загружен.
skkkk вне форума  
 
Непрочитано 23.09.2022, 14:47
1 | #10
Кулик Алексей aka kpblc
Moderator

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


Так ты посмотри, какое реальное имя у этого блока (разбей размер и через (cdr (assoc 2 (entget (car (entsel))))) узнай имя).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > изменение параметров размеров с помощью лиспа

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поменять visibility set c помощью лиспа Zaghim LISP 12 10.05.2011 16:33
Печать нестандартных размеров листа с помощью плоттера, подключенного через маршрутизатор _Nikita_ Прочее. Программное обеспечение 3 02.09.2010 10:25
Как включить перемещение и изменение размеров инструментальных палитр? nicestep AutoCAD 1 12.07.2010 10:19
Изменение параметров дин блока ch-viktor Программирование 5 23.05.2008 21:38
Изменение свойств текстов и размеров Кулик Алексей aka kpblc Программирование 2 23.06.2005 16:11