乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: jschlichter

[编程交流] 使用vlax-3dpoint

[复制链接]

1

主题

7

帖子

6

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 23:22:06 | 显示全部楼层
没有这样的运气
  1. Command: (vlax-get-property StartPointObj 'OwnerID)
  2. ; error: ActiveX Server returned an error: Element not found

不过我喜欢B计划。。。。
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
438
发表于 2022-7-5 23:24:54 | 显示全部楼层
它只是无法通过LISP访问。许多属性无法通过该语言访问或几乎无法访问。
回复

使用道具 举报

0

主题

39

帖子

44

银币

限制会员

铜币
-1
发表于 2022-7-5 23:28:32 | 显示全部楼层
可能有以以下内容开头的计划C:
 
  1. (vla-getInterfaceObject "bla bla bla.18")

 
我不知道Civil 3D 2010的“布拉布拉布拉”。
 
回复

使用道具 举报

1

主题

7

帖子

6

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 23:33:08 | 显示全部楼层
我也很不幸。也许是时候开始学习VBA或。网
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-5 23:33:53 | 显示全部楼层
 
这是否意味着进入一个新的领域。净口味(即C#、VB等)。。。?
 
 
编辑:
 
也许我已经回答了自己的问题(来自Visual Basic Express 2010的屏幕截图)-
 
234104rkcwiivcd8wzz5cz.png
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-5 23:38:04 | 显示全部楼层
首先。我意识到这个帖子很旧。我为这个问题挣扎了很长一段时间。在我的研究中,我遇到了这个线索。我想我应该透露一些信息。
 
无论如何,进入管道和结构不是直接的。人们倾向于认为,要获得管道的起始点,应该使用上面列出的代码。从中检索到的对象是Point3D对象,在尝试获取X Y Z时会引起头痛和错误。要读取起点和终点,请使用以下方法:
 
  1. (setq p0 (vlax-safearray->list (vlax-variant-value (vlax-get-property pipe 'PointAtParam 0))))

 

 
  1. (setq p1 (vlax-safearray->list (vlax-variant-value (vlax-get-property pipe 'PointAtParam 1))))

 
要设置起点和终点,可以使用以下命令:
 
  1. (vlax-invoke-method pipe 'SetStartandEndPoints pnt1 pnt2)

 
其中,pnt1和pnt2使用(vlax-3d-point)转换
 
结构中心是一个IAeccPoint对象,有自己的设置和获取X、Y、Z的方法。
 
我希望这能为访问Civil 3D管道和结构的问题提供一些线索。如果有人感兴趣,我很乐意对此进行更多讨论。
 
当做
 
hippe013
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 23:44:23 | 显示全部楼层
如果你只是想要一个反转级别,那么在这里使用这个。只需要在标签的点上有一个文本。选择基准面、基准线、pt,然后选择文本作为答案,多支持。
 
  1. ;Calculates level of a point in cross or long sections
  2. (setvar "cmdecho" 0)
  3. (princ "\n To run just type SRL")
  4. ;;-------------------=={ Parse Numbers }==--------------------;;`
  5. ;;                                                            ;;
  6. ;;  Parses a list of numerical values from a supplied string. ;;
  7. ;;------------------------------------------------------------;;
  8. ;;  Author: Lee Mac, Copyright © 2011 - [url="http://www.lee-mac.com"]www.lee-mac.com[/url]       ;;
  9. ;;------------------------------------------------------------;;
  10. ;;  Arguments:                                                ;;
  11. ;;  s - String to process                                     ;;
  12. ;;------------------------------------------------------------;;
  13. ;;  Returns:  List of numerical values found in string.       ;;
  14. ;;------------------------------------------------------------;;
  15. (defun LM:ParseNumbers ( s )
  16. (
  17.    (lambda ( l )
  18.      (read
  19.        (strcat "("
  20.          (vl-list->string
  21.            (mapcar
  22.              (function
  23.                (lambda ( a b c )
  24.                  (if
  25.                    (or
  26.                      (< 47 b 58)
  27.                      (and (= 45 b) (< 47 c 58) (not (< 47 a 58)))
  28.                      (and (= 46 b) (< 47 a 58) (< 47 c 58))
  29.                    )
  30.                    b 32
  31.                  )
  32.                )
  33.              )
  34.              (cons nil l) l (append (cdr l) (list nil))
  35.            )
  36.          )
  37.          ")"
  38.        )
  39.      )
  40.    )
  41.    (vl-string->list s)
  42. )
  43. )
  44. (defun c:SRL ()
  45. (setq olddimzin (getvar "dimzin"))
  46. (setvar "dimzin" 0)
  47. (if (= dwgscale nil)
  48. (setq dwgscale (/ 1000.0 (getreal "\n enter vertical scale ")))
  49. )
  50. ;(setq datum (getreal "\n Enter datum level "))
  51. (setq datum (car (LM:ParseNumbers (cdr (assoc 1 (entget (car (entsel "\nPick datum text"))))))))
  52. (setq test 1)
  53. (setq pt1 (cadr (getpoint "\npick datum")))
  54. (while (= test 1)
  55. (setq pt2 (cadr (getpoint "\npick point")))
  56. (setq dist (/(abs (- pt1 pt2)) dwgscale))
  57.      (setq en1 (car (entsel "\nSelect text number:" )))
  58.      (if (/= en1 nil)
  59.        (progn
  60.        (setq tent (entget en1))
  61.        (setq a (+ dist datum))
  62.        (setq a (rtos a 2 3))
  63.        (setq el (subst (cons 1 a) (assoc 1 tent) tent))
  64.        (entmod el)
  65.   );progn
  66.       (princ "\nplease pick again"); else
  67.     );if
  68. ); while t
  69. (setq el nil
  70. en nil
  71. a nil
  72. en1 nil
  73. test nil)
  74. (setvar "cmdecho" 1)
  75. (setvar "dimzin" olddimzin)
  76. (princ)
  77. ) ;ends main defun
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-11 03:30 , Processed in 0.719075 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表