vb cad 实体选择 修改图层

vb cad 实体选择 修改图层,第1张

有一段autoLISP程序可以修改图层。 *** 作方法:先点击参考图层,然后选择对象,那么所以的对象变为参考图层。

(defun C:XG (/ #os1 &k1 #k1 %k1 &kw i %k2)

 (setvar "cmdecho" 0)

 (setvar "blipmode" 0)

 (setq #os1 (getvar "osmode"))

 (setvar "osmode" 0)

 (setq &k1 (entsel "\n请选择参考图层"))

 (if (= &k1 nil)

  (princ "\n没有选择参考图层")

 )

 (if (/= &k1 nil)

  (progn

   (setq &k1 (car &k1)

 #k1 (entget &k1)

 %k1 (assoc 8 #k1)

   )

   (princ "\n请选择需要改变的对象")

   (setq &kw (ssget))

   (if (= &kw nil)

    (princ "\n没有选择对象")

   )

   (if (/= &kw nil)

    (progn

     (setq i 0)

     (repeat (sslength &kw)

      (setq &k1 (ssname &kw i)

    #k1 (entget &k1)

    %k2 (assoc 8 #k1)

    #k1 (subst

 %k1

 %k2

 #k1

)

    i (+ i 1)

      )

      (entmod #k1)

     )

     (princ "\n改变图层完成")

    )

   )

  )

 )

 (setvar "osmode" #os1)

 (prin1)

)复制到记事本,以【.lsp】为后缀命名,加载autoLISP就可以使用。命令为:XG

做多个PictureBox太累了,你只要一个,然后用PIctureBox的AutoReDraw和PaintPicture就可以了,PaintPicture可缩放,也可以垂直或水平翻转,就像PS一样,图层只不过是想像中存在,加载时也可以

Picture1.paintpicture loadpicture("图层1"),0,0

Picture1.paintpicture loadpicture("图层2"),0,0

Picture1.paintpicture loadpicture("图层2"),0,0宽(放大后),高(放大后),0,0,宽(原图),高(原图)

vb6无非就是把API包装化用起来方便点,什么VB2008也不过如此,目前对我来说是这样,看着VB2005的Picturebox我真的愣了好长时间,连个HDC都找不到T_T,最后还是用回VB6。

你把你的几个图层生成一个gst文件,用mapx调用gst文件就能显示地图了。我只有C#的调用方式,axMap1.GeoSet = Application.StartupPath + "//Map//map.gst"

我也是做mapx开发的,有空到我的百度空间交流一下。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11868389.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存