sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    Text position problem

    Scheduled Pinned Locked Moved Developers' Forum
    23 Posts 5 Posters 2.5k Views 5 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J Offline
      Jorgensen
      last edited by

      Hi azuby

      Thanks for your help - but I still have the problem that the text gets cut off - se images.

      The 'test' text is added via mouseclick and does not have this problem 😞

      EDIT
      Is this the proper group/place for such technical questions ?


      1.jpg


      2.jpg

      sketchup pro 2016 16.1.1449 64 bit | windows 10 pro | i7-3770k @3.5 GHz | 16gb ram | gtx 780 ti / gtx 980 ti | nvidia driver 368.39

      1 Reply Last reply Reply Quote 0
      • A Offline
        azuby
        last edited by

        Hmmm maybe it's a problem with OpenGL?

        azuby

        *error initus :: Blocks | CurrentDate | d/Code | extensionmanager | FFlipper | HideEdges | MeasuredArea | ModelHistory | PluginsHelp | PronButton | SAWSO | SCP | SUΒ²CATT

        Bad English? PM me, correct me. :smile:**

        1 Reply Last reply Reply Quote 0
        • J Offline
          Jorgensen
          last edited by

          If I afterwards manual move the text 200mm, on the blue axis, the problem dissapers.

          But how do I do this automatic ?
          point = Geom::Point3d.new object.bounds.center
          Adding 200mm to the Z axe of point ?

          Sorry, I have quite a lot questions.... and still a lot to come

          Thanks
          Jorgensen

          sketchup pro 2016 16.1.1449 64 bit | windows 10 pro | i7-3770k @3.5 GHz | 16gb ram | gtx 780 ti / gtx 980 ti | nvidia driver 368.39

          1 Reply Last reply Reply Quote 0
          • Didier BurD Offline
            Didier Bur
            last edited by

            Adding a small leader to the text would solve the problem (if you don't mind having such text)

            For instance:
            text = model.active_entities.add_text "your_text_here", point, Geom::Vector3d.new(0,0,10)

            increase vector.z value to get greater leader. What I often do is to have the same value for text height and vector.z value
            Hope this helps,

            DB

            1 Reply Last reply Reply Quote 0
            • J Offline
              Jorgensen
              last edited by

              Thanks Didier - I added point.z = point.z + 6 - this helped πŸ˜„

              Jorgensen

              sketchup pro 2016 16.1.1449 64 bit | windows 10 pro | i7-3770k @3.5 GHz | 16gb ram | gtx 780 ti / gtx 980 ti | nvidia driver 368.39

              1 Reply Last reply Reply Quote 0
              • Didier BurD Offline
                Didier Bur
                last edited by

                BTW, your way of calculating (converting from inches2 to m2) areas is quite strange.

                $area = (object.area / (39.3700787*39.3700787)).round
                $text = "#{object.layer.name}\n#$area m2"
                

                Try this:

                $text=Sketchup.format_area object.area
                

                Whatever unit the user has set, area (numeric) will be converted to this unit (string) and a ² is added to the text as well 😍

                DB

                1 Reply Last reply Reply Quote 0
                • J Offline
                  Jorgensen
                  last edited by

                  Hi All

                  Thanks for your input.

                  @Didier
                  I have tried that - belive me - but I don't no why, but if I do an Object.area on a face that is 1000x1000mm I get an area of 1,550m2 ? And I have setup units in Model Info - strange ???

                  Another problem. If I doubbleclick the mouse I get a 'attaced' text, that keeps the position inside the face, even if I move the sides. This does not happen when using Object.add_text 😞 does any know if it is possible to achieve this by script ?

                  What I'm trying to create is a small script that has the function as I have tried to sketch on the attached image. This would be very useful for me when sketching plans πŸ˜„

                  The next problem - how do I get group names, add listing them inside a group and adding text inside this group - a lot to learn..... 😞


                  Areas.jpg

                  sketchup pro 2016 16.1.1449 64 bit | windows 10 pro | i7-3770k @3.5 GHz | 16gb ram | gtx 780 ti / gtx 980 ti | nvidia driver 368.39

                  1 Reply Last reply Reply Quote 0
                  • Didier BurD Offline
                    Didier Bur
                    last edited by

                    Jorgensen,
                    Try attached script.
                    Acces it via context menu, when a single face is selected in the model.
                    It creates a formatted text on a layer "Areas".

                    For the rest, I don't understand exactly what you mean (groups, and so)...


                    txt_area.rb

                    DB

                    1 Reply Last reply Reply Quote 0
                    • J Offline
                      Jorgensen
                      last edited by

                      Hi Didier

                      I will have a look at the script.

                      What I main by groups. Is, that I have:

                      • a ground level wich is on Layer 00
                      • first floor in layer 01

                      On layer 00 (ground level), I would like a group that contains a 'area group' for each room, Kitchen, livingroom, and so on... .Each areagrop should have the name of the room, so that a script, can update the Text and area.

                      So, in the maingroup on layer 00, holds a text (on layer 0t Text) that says kitchen size ...., and a group named Kitchen (on layer 0A Area, so it can be turned off).

                      A bit dificult to explain 😞

                      Jorgensen

                      sketchup pro 2016 16.1.1449 64 bit | windows 10 pro | i7-3770k @3.5 GHz | 16gb ram | gtx 780 ti / gtx 980 ti | nvidia driver 368.39

                      1 Reply Last reply Reply Quote 0
                      • Didier BurD Offline
                        Didier Bur
                        last edited by

                        OK, I understand.
                        This is doable, but I have not much time to help you by now 😒
                        Remind me...

                        DB

                        1 Reply Last reply Reply Quote 0
                        • J Offline
                          Jorgensen
                          last edited by

                          Hi Didier

                          Thank - you have allready helped. I'll se what I can fix myself.

                          By the help from this forum, it might be possible πŸ˜„

                          Jorgensen

                          sketchup pro 2016 16.1.1449 64 bit | windows 10 pro | i7-3770k @3.5 GHz | 16gb ram | gtx 780 ti / gtx 980 ti | nvidia driver 368.39

                          1 Reply Last reply Reply Quote 0
                          • J Offline
                            Jorgensen
                            last edited by

                            Hi

                            I have a question about the Sketchup.format_area utility.

                            My model is in mm, but I would like the result to be in m2 not as Sketchup.format_area shows mm2 - is this somehow possible ?

                            Thanks

                            sketchup pro 2016 16.1.1449 64 bit | windows 10 pro | i7-3770k @3.5 GHz | 16gb ram | gtx 780 ti / gtx 980 ti | nvidia driver 368.39

                            1 Reply Last reply Reply Quote 0
                            • J Offline
                              Jorgensen
                              last edited by

                              Its now going the right way... πŸ˜„

                              I have one question.
                              I have a group on each level of the building (the levelGroup). Each levelGroup contains a number of groups, that holds info for each room, the area and name. roomGroups.

                              I then doubbleclick, and get inside a levelgroup, and update the roomGroups.

                              To keep track of the roomGroups I use:
                              target = Sketchup.active_model.active_entities;
                              $areaObjects.push target.add_text text, coordinates

                              I then have an array $areaObjects, that cointain all the text added (roomGroups).
                              If I wan't to delete/update all the text, I can read the array again and then erase! them, but this will delete all the text on in all levelGroups.

                              Is there a way to tjek if the roomGroup is inside the active group ?

                              Thanks
                              Jorgensen

                              sketchup pro 2016 16.1.1449 64 bit | windows 10 pro | i7-3770k @3.5 GHz | 16gb ram | gtx 780 ti / gtx 980 ti | nvidia driver 368.39

                              1 Reply Last reply Reply Quote 0
                              • Didier BurD Offline
                                Didier Bur
                                last edited by

                                @unknownuser said:

                                I would like the result to be in m2 not as Sketchup.format_area shows mm2 - is this somehow possible ?

                                Yes:
                                Switch to meters unit just before the format_area instruction, then switch back to mm:

                                old_unit=Sketchup.active_model.options["UnitsOptions"]["LengthUnit"]
                                Sketchup.active_model.options["UnitsOptions"]["LengthUnit"]=4
                                
                                then_call_the_format_area_instruction_here
                                (result is a string so it would'nt be affect by later changes)
                                
                                Sketchup.active_model.options["UnitsOptions"]["LengthUnit"]=old_unit
                                (to switch back to mm in your case
                                

                                DB

                                1 Reply Last reply Reply Quote 0
                                • J Offline
                                  Jorgensen
                                  last edited by

                                  Hi Didier

                                  Thanks for your reply. Just the way I would do, I just could'nt find the settings in Ruby.

                                  One problem however, the text now becomes 14 Meters2 - should be 14 M2 - I guess I'll have to do somekind ereg_replace....

                                  Thanks for your help.
                                  Jorgensen

                                  sketchup pro 2016 16.1.1449 64 bit | windows 10 pro | i7-3770k @3.5 GHz | 16gb ram | gtx 780 ti / gtx 980 ti | nvidia driver 368.39

                                  1 Reply Last reply Reply Quote 0
                                  • J Offline
                                    Jorgensen
                                    last edited by

                                    Easy area = area.sub("eters ", "") πŸ˜„

                                    This is fun 😍

                                    sketchup pro 2016 16.1.1449 64 bit | windows 10 pro | i7-3770k @3.5 GHz | 16gb ram | gtx 780 ti / gtx 980 ti | nvidia driver 368.39

                                    1 Reply Last reply Reply Quote 0
                                    • TIGT Offline
                                      TIG Moderator
                                      last edited by

                                      I did an AreaFormat tool a while ago... see: http://www.sketchucation.com/forums/scf/viewtopic.php?p=12808#p12808
                                      It could easily be adjusted to suit your current units if they are not listed...

                                      TIG

                                      1 Reply Last reply Reply Quote 0
                                      • J Offline
                                        Jorgensen
                                        last edited by

                                        Thanks TIG - I'll have a look at it...

                                        Right now I have a problem, actual the last before I can use the script at work...

                                        I use this to tjek and delete objects in the active group:
                                        def tmAreaDelete
                                        objects_active = Sketchup.active_model.active_entities
                                        for object in objects_active
                                        if($areaObjects.include?object)
                                        object.erase! unless object.deleted?
                                        $areaObjects.delete object
                                        end
                                        end
                                        end

                                        What teases me, is I have to run the tmAreaDelete tree times to delete all text objects - and I just can't se why 😞 It works if I skip the line '$areaObjects.delete object' but that can't be a good solution.

                                        Jorgensen

                                        sketchup pro 2016 16.1.1449 64 bit | windows 10 pro | i7-3770k @3.5 GHz | 16gb ram | gtx 780 ti / gtx 980 ti | nvidia driver 368.39

                                        1 Reply Last reply Reply Quote 0
                                        • J Offline
                                          Jorgensen
                                          last edited by

                                          And a other problem:
                                          The array $areaObjects, is not saved inside the file - so next time it is loaded - one have to manuel delete all the textobjects and add newones -

                                          Is there a smart workaround here ?

                                          Thanks
                                          Jorgensen

                                          sketchup pro 2016 16.1.1449 64 bit | windows 10 pro | i7-3770k @3.5 GHz | 16gb ram | gtx 780 ti / gtx 980 ti | nvidia driver 368.39

                                          1 Reply Last reply Reply Quote 0
                                          • J Offline
                                            Jorgensen
                                            last edited by

                                            It seems that I can use
                                            model = Sketchup.active_model
                                            data = model.get_attribute "TM_area", "textObjects", "default"
                                            and
                                            value = model.set_attribute "TM_area", "textObjects", objects

                                            sketchup pro 2016 16.1.1449 64 bit | windows 10 pro | i7-3770k @3.5 GHz | 16gb ram | gtx 780 ti / gtx 980 ti | nvidia driver 368.39

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement