|
Тема |
Re: Пробвах... [re: StSt] |
|
Автор | Mинaвaщ (Нерегистриран) | |
Публикувано | 24.05.06 13:59 |
|
|
Да си призная пробвах това , Главно в с няколко начертани обекта и в два-три малки чертежа :
-------------------------------------------------------------------------
(defun C:DyDx (/ lin pt1 pt2 dpt result)
(if (and
(setq lin(entsel "\nСелектирай LINE: "))
(= "LINE" (cdr(assoc 0 (entget (car lin)))))
);and
(PROGN
(setq lin (car lin)
pt1 (cdr(ASSOC 10(entget lin)))
pt2 (cdr(ASSOC 11(entget lin)))
dpt (MAPCAR '- pt1 pt2)
result (/ (cadr dpt)(* 10 (car dpt)))
);setq
(COMMAND "text" (getpoint "\nСтартова точка на TEXT: ") "" "" (strcat "I=" (RTOS result 2 4)))
);PROGN
(if lin (ALERT "Tова не е LINE !")(ALERT "No Selection"))
);if
);DyDx
'(DyDx)
------------ и това Демо Версия ------------------------------------------------------
Sub Test()
' наклон на линия получен от деленето на deltaY и deltaX*10
Label1: Dim returnObj As AcadObject
Dim basePnt As Variant
ThisDrawing.Utility.GetEntity returnObj, basePnt, vbCrLf & "Изберете LINE: "
If TypeOf returnObj Is AcadLine Then
Dim lineObj As AcadLine
Set lineObj = returnObj
Dim tmpDbl As Double
tmpDbl = lineObj.Delta(1) / (lineObj.Delta(0) * 10)
ThisDrawing.Utility.Prompt "DY/(DX*10)=" & Format(tmpDbl, "0.0000") & vbCrLf
MsgBox "Наклон Y към X*10 --> I= " & Format(tmpDbl, "0.0000"), vbDefaultButton1, "Наклон на Линията ДЕМО ВЕРСИЯ"
Else: MsgBox "Това не е LINE !", vbCritical, "ГРЕШКА !"
GoTo Label1
End If
End Sub
---------------------------------------------------------------------
Ако има пробеми със смятането и др. големи не съм забелязал !
|
| |
|
|
|